[INFO] cloning repository https://github.com/Liorst4/liorforth
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Liorst4/liorforth" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLiorst4%2Fliorforth", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLiorst4%2Fliorforth'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] facc3aee1ad16e564813d2a3c8e8c6b0743159f9
[INFO] fixing Liorst4/liorforth against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLiorst4%2Fliorforth" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Liorst4/liorforth
[INFO] finished tweaking git repo https://github.com/Liorst4/liorforth
[INFO] tweaked toml for git repo https://github.com/Liorst4/liorforth written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Liorst4/liorforth on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Liorst4/liorforth already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5c911e8f3a90435d4e384f4c91874240041aa903696a2926f2dcaf07620f166a
[INFO] running `Command { std: "docker" "start" "5c911e8f3a90435d4e384f4c91874240041aa903696a2926f2dcaf07620f166a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5c911e8f3a90435d4e384f4c91874240041aa903696a2926f2dcaf07620f166a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5c911e8f3a90435d4e384f4c91874240041aa903696a2926f2dcaf07620f166a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5c911e8f3a90435d4e384f4c91874240041aa903696a2926f2dcaf07620f166a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling liorforth v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `liorforth`
[INFO] [stderr]  --> src/main.rs
[INFO] [stderr]   = cause: error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            718 | /     declare_primitive!(".s", env, {
[INFO] [stderr]            719 | |         let len = env.data_stack.len();
[INFO] [stderr]            720 | |         print!("<{len}> ");
[INFO] [stderr]            721 | |         for i in &env.data_stack.data[0..len] {
[INFO] [stderr]            ...   |
[INFO] [stderr]            724 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            725 | /     declare_primitive!("bye", _env, {
[INFO] [stderr]            726 | |         std::process::exit(0);
[INFO] [stderr]            727 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            728 | /     declare_primitive!("words", env, {
[INFO] [stderr]            729 | |         for entry in env.dictionary.iter() {
[INFO] [stderr]            730 | |             println!("{}", entry.name.as_str().unwrap());
[INFO] [stderr]            731 | |         }
[INFO] [stderr]            732 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            733 | /     declare_primitive!("dup", env, {
[INFO] [stderr]            734 | |         let x = *env.data_stack.last()?;
[INFO] [stderr]            735 | |         env.data_stack.push(x)?;
[INFO] [stderr]            736 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            737 | /     declare_primitive!("drop", env, {
[INFO] [stderr]            738 | |         env.data_stack.pop()?;
[INFO] [stderr]            739 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            740 | /     declare_primitive!(".", env, {
[INFO] [stderr]            741 | |         let x = env.data_stack.pop()?;
[INFO] [stderr]            742 | |         env.print_number(x);
[INFO] [stderr]            743 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            744 | /     declare_primitive!("over", env, {
[INFO] [stderr]            745 | |         let a = env.data_stack.pop()?;
[INFO] [stderr]            746 | |         let b = env.data_stack.pop()?;
[INFO] [stderr]            747 | |         env.data_stack.push(b)?;
[INFO] [stderr]            748 | |         env.data_stack.push(a)?;
[INFO] [stderr]            749 | |         env.data_stack.push(b)?;
[INFO] [stderr]            750 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            751 | /     declare_primitive!("roll", env, {
[INFO] [stderr]            752 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stderr]            753 | |         return env.data_stack.roll(u);
[INFO] [stderr]            754 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            755 | /     declare_primitive!("/mod", env, {
[INFO] [stderr]            756 | |         let divisor = env.data_stack.pop()?;
[INFO] [stderr]            757 | |         if divisor == 0 {
[INFO] [stderr]            758 | |             return Err(Exception::from(Exception::DIVISION_BY_ZERO));
[INFO] [stderr]            ...   |
[INFO] [stderr]            765 | |         env.data_stack.push(quotient)?;
[INFO] [stderr]            766 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            767 | /     declare_primitive!("here", env, {
[INFO] [stderr]            768 | |         let address: *mut Byte = unsafe { env.data_space_manager.here() };
[INFO] [stderr]            769 | |         env.data_stack.push(address as Cell)?;
[INFO] [stderr]            770 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            771 | /     declare_primitive!("allot", env, {
[INFO] [stderr]            772 | |         // TODO: Remove?
[INFO] [stderr]            773 | |         debug_assert_eq!(env.currently_compiling, Flag::False as Cell);
[INFO] [stderr]            ...   |
[INFO] [stderr]            781 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            782 | /     declare_primitive!("@", env, {
[INFO] [stderr]            783 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            784 | |         let address = n as *mut Cell;
[INFO] [stderr]            785 | |         let data = unsafe { std::ptr::read_unaligned::<Cell>(address) };
[INFO] [stderr]            786 | |         env.data_stack.push(data)?;
[INFO] [stderr]            787 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            788 | /     declare_primitive!("!", env, {
[INFO] [stderr]            789 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            790 | |         let data = env.data_stack.pop()?;
[INFO] [stderr]            791 | |         let address = n as *mut Cell;
[INFO] [stderr]            792 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stderr]            793 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            794 | /     declare_primitive!("c@", env, {
[INFO] [stderr]            795 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            796 | |         let address = n as *mut Byte;
[INFO] [stderr]            797 | |         let data = unsafe { std::ptr::read_unaligned::<Byte>(address) };
[INFO] [stderr]            798 | |         env.data_stack.push(data as Cell)?;
[INFO] [stderr]            799 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            800 | /     declare_primitive!("c!", env, {
[INFO] [stderr]            801 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            802 | |         let data = env.data_stack.pop()? as Byte;
[INFO] [stderr]            803 | |         let address = n as *mut Byte;
[INFO] [stderr]            804 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stderr]            805 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            806 | /     declare_primitive!("emit", env, {
[INFO] [stderr]            807 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            808 | |         let c = (n as u8) as char;
[INFO] [stderr]            809 | |         print!("{c}");
[INFO] [stderr]            810 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            811 | /     declare_primitive!("base", env, {
[INFO] [stderr]            812 | |         let base_address: *mut Cell = &mut env.base;
[INFO] [stderr]            813 | |         env.data_stack.push(base_address as Cell)?;
[INFO] [stderr]            814 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            815 |     declare_binary_operator_primitive!("+", wrapping_add, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            816 |     declare_binary_operator_primitive!("-", wrapping_sub, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            817 |     declare_binary_operator_primitive!("*", wrapping_mul, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            818 |     declare_binary_operator_primitive!("and", bitand, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            819 |     declare_binary_operator_primitive!("or", bitor, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            820 |     declare_binary_operator_primitive!("xor", bitxor, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            821 |     declare_binary_operator_primitive!("mod", wrapping_rem, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            822 |     declare_binary_operator_primitive!("lshift", shl, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            823 |     declare_binary_operator_primitive!("rshift", shr, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            824 |     declare_unary_operator_primitive!("negate", wrapping_neg, data_stack),
[INFO] [stderr]                |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            825 |     declare_unary_operator_primitive!("invert", not, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            826 |     declare_compare_operator_primitive!("=", ==, data_stack),
[INFO] [stderr]                |     -------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            827 |     declare_compare_operator_primitive!("<", <, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            828 |     declare_compare_operator_primitive!(">", >, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            829 | /     declare_primitive!(":", env, {
[INFO] [stderr]            830 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stderr]            831 | |         env.push_new_dictionary_entry(name, false, Default::default())?;
[INFO] [stderr]            832 | |         env.currently_compiling = Flag::True as Cell;
[INFO] [stderr]            833 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            834 | /     declare_primitive!("r>", env, {
[INFO] [stderr]            835 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stderr]            836 | |         let from_return_stack = env.return_stack.pop()?;
[INFO] [stderr]            837 | |         env.data_stack.push(from_return_stack.0.addr() as Cell)?;
[INFO] [stderr]            838 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stderr]            839 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            840 | /     declare_primitive!(">r", env, {
[INFO] [stderr]            841 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stderr]            842 | |         let from_data_stack = env.data_stack.pop()?;
[INFO] [stderr]            843 | |         env.return_stack
[INFO] [stderr]            844 | |             .push_ptr(from_data_stack as *const ForthOperation)?;
[INFO] [stderr]            845 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stderr]            846 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            847 | /     declare_primitive!("u.", env, {
[INFO] [stderr]            848 | |         let s = env.data_stack.pop()?;
[INFO] [stderr]            849 | |         let u: usize = s as usize;
[INFO] [stderr]            850 | |         env.print_number(u);
[INFO] [stderr]            851 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            852 | /     declare_primitive!("u<", env, {
[INFO] [stderr]            853 | |         let s2 = env.data_stack.pop()?;
[INFO] [stderr]            854 | |         let s1 = env.data_stack.pop()?;
[INFO] [stderr]            855 | |         let u2 = s2 as UCell;
[INFO] [stderr]            ...   |
[INFO] [stderr]            859 | |         env.data_stack.push(result as Cell)?;
[INFO] [stderr]            860 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            861 | /     declare_primitive!("move", env, {
[INFO] [stderr]            862 | |         let length = env.data_stack.pop()? as usize;
[INFO] [stderr]            863 | |         let dest = env.data_stack.pop()? as *mut Byte;
[INFO] [stderr]            864 | |         let src = env.data_stack.pop()? as *const Byte;
[INFO] [stderr]            865 | |         unsafe { std::ptr::copy(src, dest, length) };
[INFO] [stderr]            866 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            867 | /     declare_primitive!("depth", env, {
[INFO] [stderr]            868 | |         env.data_stack.push(env.data_stack.len() as Cell)?;
[INFO] [stderr]            869 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            870 | /     declare_primitive!("quit", env, {
[INFO] [stderr]            871 | |         env.return_stack.clear();
[INFO] [stderr]            872 | |         // TODO: Don't print ok after execution
[INFO] [stderr]            873 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            874 | /     declare_primitive!(">in", env, {
[INFO] [stderr]            875 | |         let address: *mut Cell = &mut env.input_buffer_head;
[INFO] [stderr]            876 | |         let address = address as Cell;
[INFO] [stderr]            877 | |         env.data_stack.push(address)?;
[INFO] [stderr]            878 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            879 | /     declare_primitive!("state", env, {
[INFO] [stderr]            880 | |         let address: *mut Cell = &mut env.currently_compiling;
[INFO] [stderr]            881 | |         let address = address as Cell;
[INFO] [stderr]            882 | |         env.data_stack.push(address)?;
[INFO] [stderr]            883 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            884 | /     declare_primitive!("source", env, {
[INFO] [stderr]            885 | |         let address = env.input_buffer.as_ptr() as Cell;
[INFO] [stderr]            886 | |         let size = env.input_buffer.iter().take_while(|c| **c != 0).count() as Cell;
[INFO] [stderr]            887 | |         env.data_stack.push(address)?;
[INFO] [stderr]            888 | |         env.data_stack.push(size)?;
[INFO] [stderr]            889 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            890 | /     declare_primitive!("immediate", env, {
[INFO] [stderr]            891 | |         env.latest_mut().immediate = true;
[INFO] [stderr]            892 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            893 | /     declare_primitive!("word", env, {
[INFO] [stderr]            894 | |         let delimiter = env.data_stack.pop()?;
[INFO] [stderr]            895 | |         let token = env.next_token(USUAL_LEADING_DELIMITERS_TO_IGNORE, delimiter as Byte);
[INFO] [stderr]            896 | |         let token = token.to_owned(); // TODO: Copy into stack instead of heap (use alloca?)
[INFO] [stderr]            ...   |
[INFO] [stderr]            899 | |         env.data_stack.push(token_address as Cell)?;
[INFO] [stderr]            900 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            901 | /     declare_primitive!("'", env, {
[INFO] [stderr]            902 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stderr]            903 | |         let entry = search_dictionary(&env.dictionary, &name)?;
[INFO] [stderr]            904 | |         let entry: *const DictionaryEntry = entry;
[INFO] [stderr]            905 | |         env.data_stack.push(entry as Cell)?;
[INFO] [stderr]            906 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            907 | /     declare_primitive!("execute", env, {
[INFO] [stderr]            908 | |         let entry = env.data_stack.pop()?;
[INFO] [stderr]            909 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stderr]            910 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stderr]            911 | |         env.execute_word(unsafe { entry.body() }.first().unwrap())?;
[INFO] [stderr]            912 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            913 | /     declare_primitive!(">body", env, {
[INFO] [stderr]            914 | |         let entry = env.data_stack.pop()?;
[INFO] [stderr]            915 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stderr]            916 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stderr]            ...   |
[INFO] [stderr]            921 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            922 | /     declare_primitive!("find", env, {
[INFO] [stderr]            923 | |         let name_address = env.data_stack.pop()?;
[INFO] [stderr]            924 | |         let name: &CountedString =
[INFO] [stderr]            925 | |             unsafe { (name_address as *const CountedString).as_ref() }.unwrap();
[INFO] [stderr]            ...   |
[INFO] [stderr]            939 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            940 | /     declare_primitive!("see", env, {
[INFO] [stderr]            941 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stderr]            942 | |         let item = search_dictionary(&env.dictionary, &name)?;
[INFO] [stderr]            943 | |         println!(": {} ", item.name.as_str().unwrap());
[INFO] [stderr]            ...   |
[INFO] [stderr]            971 | |         println!()
[INFO] [stderr]            972 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            977 | /     declare_primitive!("MAX-D", env, {
[INFO] [stderr]            978 | |         env.data_stack.push_double_cell(DoubleCell::MAX)?;
[INFO] [stderr]            979 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            980 | /     declare_primitive!("MAX-UD", env, {
[INFO] [stderr]            981 | |         env.data_stack
[INFO] [stderr]            982 | |             .push_double_cell(DoubleUCell::MAX as DoubleCell)?;
[INFO] [stderr]            983 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]             984 | /     declare_primitive!("evaluate", env, {
[INFO] [stderr]             985 | |         let string_byte_count = env.data_stack.pop()? as usize;
[INFO] [stderr]             986 | |         let string_address = env.data_stack.pop()?;
[INFO] [stderr]             987 | |         let string_address = string_address as *const u8;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1005 | |         result?; // TODO: Correct?
[INFO] [stderr]            1006 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1007 | /     declare_primitive!("key", env, {
[INFO] [stderr]            1008 | |         let mut key_buffer: [Byte; 1] = [0; 1];
[INFO] [stderr]            1009 | |         std::io::stdin().read_exact(&mut key_buffer).unwrap();
[INFO] [stderr]            1010 | |         env.data_stack.push(*key_buffer.first().unwrap() as Cell)?;
[INFO] [stderr]            1011 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1012 | /     declare_primitive!("accept", env, {
[INFO] [stderr]            1013 | |         let max_length = env.data_stack.pop()?;
[INFO] [stderr]            1014 | |         let max_length = max_length as usize;
[INFO] [stderr]            1015 | |         let destination = env.data_stack.pop()?;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1018 | |         std::io::stdin().read_exact(buffer).unwrap();
[INFO] [stderr]            1019 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1020 | /     declare_primitive!("m*", env, {
[INFO] [stderr]            1021 | |         let x = env.data_stack.pop()?;
[INFO] [stderr]            1022 | |         let y = env.data_stack.pop()?;
[INFO] [stderr]            1023 | |         let result: DoubleCell = (x as DoubleCell) * (y as DoubleCell);
[INFO] [stderr]            1024 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stderr]            1025 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1026 | /     declare_primitive!("sm/rem", env, {
[INFO] [stderr]            1027 | |         let divisor: Cell = env.data_stack.pop()?;
[INFO] [stderr]            1028 | |         if divisor == 0 {
[INFO] [stderr]            1029 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stderr]            ...    |
[INFO] [stderr]            1039 | |         env.data_stack.push(quotient)?;
[INFO] [stderr]            1040 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1041 | /     declare_immediate_primitive!(";", env, {
[INFO] [stderr]            1042 | |         env.append_to_latest_body(ForthOperation::Next);
[INFO] [stderr]            ...    |
[INFO] [stderr]            1048 | |         env.currently_compiling = Flag::False as Cell;
[INFO] [stderr]            1049 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1050 | /     declare_primitive!("latest-push", env, {
[INFO] [stderr]            1051 | |         let op = env.pop_forth_operation()?;
[INFO] [stderr]            1052 | |         env.append_to_latest_body(op);
[INFO] [stderr]            1053 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1054 | /     declare_primitive!("latest-len", env, {
[INFO] [stderr]            1055 | |         env.data_stack
[INFO] [stderr]            1056 | |             .push(env.latest().body_item_count as UCell as Cell)?;
[INFO] [stderr]            1057 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1058 | /     declare_primitive!("latest!", env, {
[INFO] [stderr]            1059 | |         let index = env.data_stack.pop()? as UCell;
[INFO] [stderr]            1060 | |         let op = env.pop_forth_operation()?;
[INFO] [stderr]            1061 | |         unsafe { *env.latest_mut().body_mut().get_mut(index).unwrap() = op };
[INFO] [stderr]            1062 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1063 | /     declare_primitive!("cf>", env, {
[INFO] [stderr]            1064 | |         env.data_stack
[INFO] [stderr]            1065 | |             .push(env.control_flow_stack.pop()?.try_into().unwrap())?;
[INFO] [stderr]            1066 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1067 | /     declare_primitive!(">cf", env, {
[INFO] [stderr]            1068 | |         env.control_flow_stack
[INFO] [stderr]            1069 | |             .push(env.data_stack.pop()?.try_into().unwrap())?;
[INFO] [stderr]            1070 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1071 | /     declare_immediate_primitive!("(", env, {
[INFO] [stderr]            1072 | |         env.next_token(&[], b')');
[INFO] [stderr]            1073 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1074 | /     declare_immediate_primitive!("\\", env, {
[INFO] [stderr]            1075 | |         env.input_buffer_head = env.input_buffer.len() as Cell;
[INFO] [stderr]            1076 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1077 | /     declare_immediate_primitive!("s\"", env, {
[INFO] [stderr]            1078 | |         let input_buffer_string = env.next_token(&[], b'"').to_owned(); // TODO: Possible without copying to heap?
[INFO] [stderr]            1079 | |         if env.compile_mode() {
[INFO] [stderr]            1080 | |             let len: Cell = input_buffer_string.len().try_into().unwrap();
[INFO] [stderr]            ...    |
[INFO] [stderr]            1095 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1096 | /     declare_immediate_primitive!("recurse", env, {
[INFO] [stderr]            1097 | |         let latest = env.latest_mut();
[INFO] [stderr]            1098 | |         let call_self = ForthOperation::CallEntry(latest);
[INFO] [stderr]            1099 | |         env.append_to_latest_body(call_self);
[INFO] [stderr]            1100 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1101 | /     declare_primitive!("cl>", env, {
[INFO] [stderr]            1102 | |         env.data_stack
[INFO] [stderr]            1103 | |             .push_double_cell(env.counted_loop_stack.pop()?.into())?;
[INFO] [stderr]            1104 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1105 | /     declare_primitive!(">cl", env, {
[INFO] [stderr]            1106 | |         env.counted_loop_stack
[INFO] [stderr]            1107 | |             .push(env.data_stack.pop_double_cell().unwrap().into())?;
[INFO] [stderr]            1108 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1110 | /     declare_primitive!("syscall", env, {
[INFO] [stderr]            1111 | |         let arg6: u64 = env.data_stack.pop()? as u64;
[INFO] [stderr]            1112 | |         let arg5: u64 = env.data_stack.pop()? as u64;
[INFO] [stderr]            1113 | |         let arg4: u64 = env.data_stack.pop()? as u64;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1139 | |         env.data_stack.push(return_value2 as Cell)?;
[INFO] [stderr]            1140 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1141 | /     declare_immediate_primitive!(".(", env, {
[INFO] [stderr]            1142 | |         let bytes = env.next_token(&[], b')');
[INFO] [stderr]            1143 | |         let string = core::str::from_utf8(bytes).unwrap();
[INFO] [stderr]            1144 | |         print!("{string}");
[INFO] [stderr]            1145 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1146 | /     declare_primitive!(".R", env, {
[INFO] [stderr]            1147 | |         let alignment = env.data_stack.pop()?;
[INFO] [stderr]            1148 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stderr]            1149 | |         let number = env.data_stack.pop()?;
[INFO] [stderr]            1150 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stderr]            1151 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1152 | /     declare_primitive!("U.R", env, {
[INFO] [stderr]            1153 | |         let alignment = env.data_stack.pop()?;
[INFO] [stderr]            1154 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stderr]            1155 | |         let number = env.data_stack.pop()? as usize;
[INFO] [stderr]            1156 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stderr]            1157 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1158 | /     declare_primitive!("unused", env, {
[INFO] [stderr]            1159 | |         env.data_stack
[INFO] [stderr]            1160 | |             .push(env.data_space_manager.unused_area.len() as Cell)?;
[INFO] [stderr]            1161 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1162 | /     declare_primitive!("catch", env, {
[INFO] [stderr]            1163 | |         let execution_token = env.data_stack.pop()?;
[INFO] [stderr]            1164 | |         let entry = unsafe { (execution_token as *const DictionaryEntry).as_ref() }.unwrap();
[INFO] [stderr]            ...    |
[INFO] [stderr]            1192 | |         env.data_stack.push(err)?;
[INFO] [stderr]            1193 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1194 | /     declare_primitive!("throw", env, {
[INFO] [stderr]            1195 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            1196 | |         if n != 0 {
[INFO] [stderr]            1197 | |             return Err(Exception { value: n });
[INFO] [stderr]            1198 | |         }
[INFO] [stderr]            1199 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1200 | /     declare_primitive!("f.", env, {
[INFO] [stderr]            1201 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1202 | |         println!("{f}");
[INFO] [stderr]            1203 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1204 |     declare_binary_operator_primitive!("f*", mul, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1205 |     declare_binary_operator_primitive!("f+", add, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1206 |     declare_binary_operator_primitive!("f-", sub, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1207 | /     declare_primitive!("f/", env, {
[INFO] [stderr]            1208 | |         let divisor = env.floating_point_stack.pop()?;
[INFO] [stderr]            1209 | |         if divisor == 0.0 {
[INFO] [stderr]            1210 | |             return Err(Exception::from(Exception::FLOATING_POINT_DIVIDE_BY_ZERO));
[INFO] [stderr]            ...    |
[INFO] [stderr]            1214 | |         env.floating_point_stack.push(divided / divisor)?;
[INFO] [stderr]            1215 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1216 | /     declare_primitive!("f0=", env, {
[INFO] [stderr]            1217 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1218 | |         env.data_stack.push(Flag::from(f == 0.0) as Cell)?;
[INFO] [stderr]            1219 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1220 |     declare_compare_operator_primitive!("f<", <, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1221 | /     declare_primitive!("fdrop", env, {
[INFO] [stderr]            1222 | |         env.floating_point_stack.pop()?;
[INFO] [stderr]            1223 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1224 | /     declare_primitive!("fdup", env, {
[INFO] [stderr]            1225 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1226 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1227 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1228 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1229 | /     declare_primitive!("fover", env, {
[INFO] [stderr]            1230 | |         let a = env.floating_point_stack.pop()?;
[INFO] [stderr]            1231 | |         let b = env.floating_point_stack.pop()?;
[INFO] [stderr]            1232 | |         env.floating_point_stack.push(b)?;
[INFO] [stderr]            1233 | |         env.floating_point_stack.push(a)?;
[INFO] [stderr]            1234 | |         env.floating_point_stack.push(b)?;
[INFO] [stderr]            1235 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1236 | /     declare_primitive!("froll", env, {
[INFO] [stderr]            1237 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stderr]            1238 | |         return env.floating_point_stack.roll(u);
[INFO] [stderr]            1239 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1240 | /     declare_primitive!("fdepth", env, {
[INFO] [stderr]            1241 | |         env.data_stack
[INFO] [stderr]            1242 | |             .push(env.floating_point_stack.len() as Cell)?;
[INFO] [stderr]            1243 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1244 | /     declare_primitive!("floor", env, {
[INFO] [stderr]            1245 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1246 | |         env.floating_point_stack.push(f.floor())?;
[INFO] [stderr]            1247 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1248 | /     declare_primitive!("fround", env, {
[INFO] [stderr]            1249 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1250 | |         env.floating_point_stack.push(f.round())?;
[INFO] [stderr]            1251 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1252 | /     declare_primitive!("f@", env, {
[INFO] [stderr]            1253 | |         let address = env.data_stack.pop()? as *const Float;
[INFO] [stderr]            1254 | |         let f = unsafe { std::ptr::read_unaligned::<Float>(address) };
[INFO] [stderr]            1255 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1256 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1257 | /     declare_primitive!("f!", env, {
[INFO] [stderr]            1258 | |         let address = env.data_stack.pop()? as *mut Float;
[INFO] [stderr]            1259 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1260 | |         unsafe { std::ptr::write_unaligned(address, f) };
[INFO] [stderr]            1261 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1262 | /     declare_primitive!(">float", env, {
[INFO] [stderr]            1263 | |         let string_byte_count = env.data_stack.pop()? as UCell;
[INFO] [stderr]            1264 | |         let string_address = env.data_stack.pop()? as *const Byte;
[INFO] [stderr]            1265 | |         let string = unsafe { core::slice::from_raw_parts(string_address, string_byte_count) };
[INFO] [stderr]            ...    |
[INFO] [stderr]            1275 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1276 | /     declare_primitive!("d>f", env, {
[INFO] [stderr]            1277 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1278 | |         let f = d as Float;
[INFO] [stderr]            1279 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1280 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1281 | /     declare_primitive!("f>d", env, {
[INFO] [stderr]            1282 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1283 | |         let d = f as DoubleCell;
[INFO] [stderr]            1284 | |         env.data_stack.push_double_cell(d)?;
[INFO] [stderr]            1285 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1286 | /     declare_primitive!("falign", env, {
[INFO] [stderr]            1287 | |         let here = unsafe { env.data_space_manager.here() } as usize;
[INFO] [stderr]            1288 | |         env.data_space_manager
[INFO] [stderr]            1289 | |             .allot(align_to_float(here) - here)
[INFO] [stderr]            1290 | |             .unwrap();
[INFO] [stderr]            1291 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1292 | /     declare_primitive!("faligned", env, {
[INFO] [stderr]            1293 | |         let address = env.data_stack.pop()? as usize;
[INFO] [stderr]            1294 | |         env.data_stack.push(align_to_float(address) as Cell)?;
[INFO] [stderr]            1295 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1296 |     declare_unary_operator_primitive!("fabs", abs, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1297 |     declare_unary_operator_primitive!("facos", acos, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1298 |     declare_unary_operator_primitive!("facosh", acosh, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1299 |     declare_unary_operator_primitive!("falog", log10, floating_point_stack),
[INFO] [stderr]                 |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1300 |     declare_unary_operator_primitive!("fasin", asin, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1301 |     declare_unary_operator_primitive!("fasinh", asinh, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1302 |     declare_unary_operator_primitive!("fatan", atan, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1303 |     declare_unary_operator_primitive!("fatanh", atanh, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1304 |     declare_unary_operator_primitive!("fcos", cos, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1305 |     declare_unary_operator_primitive!("fcosh", cosh, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1306 |     declare_unary_operator_primitive!("fexp", exp, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1307 |     declare_unary_operator_primitive!("fln", ln, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1308 |     declare_unary_operator_primitive!("flog", log10, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1309 |     declare_unary_operator_primitive!("fsin", sin, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1310 |     declare_unary_operator_primitive!("fsinh", sinh, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1311 |     declare_unary_operator_primitive!("ftan", tan, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1312 |     declare_unary_operator_primitive!("ftanh", tanh, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1313 |     declare_unary_operator_primitive!("fsqrt", sqrt, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1314 |     declare_binary_operator_primitive!("f**", powf, floating_point_stack),
[INFO] [stderr]                 |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1315 | /     declare_primitive!("fsincos", env, {
[INFO] [stderr]            1316 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stderr]            1317 | |         let (r2, r3) = r1.sin_cos();
[INFO] [stderr]            1318 | |         env.floating_point_stack.push(r2)?;
[INFO] [stderr]            1319 | |         env.floating_point_stack.push(r3)?;
[INFO] [stderr]            1320 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1321 |     declare_unary_operator_primitive!("fexpm1", exp_m1, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1322 |     declare_unary_operator_primitive!("flnp1", ln_1p, floating_point_stack),
[INFO] [stderr]                 |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1323 |     declare_binary_operator_primitive!("fatan2", atan2, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1324 | /     declare_primitive!("f~", env, {
[INFO] [stderr]            1325 | |         let r3 = env.floating_point_stack.pop()?;
[INFO] [stderr]            1326 | |         let r2 = env.floating_point_stack.pop()?;
[INFO] [stderr]            1327 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1338 | |         env.data_stack.push(f as Cell)?;
[INFO] [stderr]            1339 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1341 | /     declare_primitive!("ms", env, {
[INFO] [stderr]            1342 | |         let ms = env.data_stack.pop()?;
[INFO] [stderr]            1343 | |         std::thread::sleep(std::time::Duration::from_millis(ms as u64));
[INFO] [stderr]            1344 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1345 | /     declare_primitive!("d+", env, {
[INFO] [stderr]            1346 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1347 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1348 | |         let d3 = d1.wrapping_add(d2);
[INFO] [stderr]            1349 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stderr]            1350 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1351 | /     declare_primitive!("d-", env, {
[INFO] [stderr]            1352 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1353 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1354 | |         let d3 = d1.wrapping_sub(d2);
[INFO] [stderr]            1355 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stderr]            1356 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1357 | /     declare_primitive!("d<", env, {
[INFO] [stderr]            1358 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1359 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1360 | |         let f: Flag = (d1 < d2).into();
[INFO] [stderr]            1361 | |         env.data_stack.push(f as Cell)?;
[INFO] [stderr]            1362 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1363 | /     declare_primitive!("dnegate", env, {
[INFO] [stderr]            1364 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1365 | |         let d2 = d1.wrapping_neg();
[INFO] [stderr]            1366 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stderr]            1367 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1368 | /     declare_primitive!("d>s", env, {
[INFO] [stderr]            1369 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1370 | |         let n: Cell = d
[INFO] [stderr]            1371 | |             .clamp(Cell::MIN as DoubleCell, Cell::MAX as DoubleCell)
[INFO] [stderr]            ...    |
[INFO] [stderr]            1374 | |         env.data_stack.push(n)?;
[INFO] [stderr]            1375 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1376 | /     declare_primitive!("d.r", env, {
[INFO] [stderr]            1377 | |         let alignment = env.data_stack.pop()?;
[INFO] [stderr]            1378 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1379 | |         let string = env.format_number(d, alignment as usize);
[INFO] [stderr]            1380 | |         print!("{string}");
[INFO] [stderr]            1381 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1382 | /     declare_primitive!("d2*", env, {
[INFO] [stderr]            1383 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1384 | |         env.data_stack.push_double_cell(d << 1)?;
[INFO] [stderr]            1385 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1386 | /     declare_primitive!("d2/", env, {
[INFO] [stderr]            1387 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1388 | |         env.data_stack.push_double_cell(d >> 1)?;
[INFO] [stderr]            1389 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1390 | /     declare_primitive!("m+", env, {
[INFO] [stderr]            1391 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            1392 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1393 | |         let d2 = d1 + n as DoubleCell;
[INFO] [stderr]            1394 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stderr]            1395 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1396 | /     declare_primitive!("m*/", env, {
[INFO] [stderr]            1397 | |         let divisor = env.data_stack.pop()?;
[INFO] [stderr]            1398 | |         if divisor == 0 {
[INFO] [stderr]            1399 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stderr]            ...    |
[INFO] [stderr]            1487 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stderr]            1488 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 131 previous errors
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/main.rs:636:28
[INFO] [stdout]     |
[INFO] [stdout] 636 |     ($name:literal, $value:expr) => {
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]     = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 636 |     ($name:literal, $value:expr_2021) => {
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 718 | /     declare_primitive!(".s", env, {
[INFO] [stdout] 719 | |         let len = env.data_stack.len();
[INFO] [stdout] 720 | |         print!("<{len}> ");
[INFO] [stdout] 721 | |         for i in &env.data_stack.data[0..len] {
[INFO] [stdout] ...   |
[INFO] [stdout] 724 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     declare_primitive!("bye", _env, {
[INFO] [stdout] 726 | |         std::process::exit(0);
[INFO] [stdout] 727 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 728 | /     declare_primitive!("words", env, {
[INFO] [stdout] 729 | |         for entry in env.dictionary.iter() {
[INFO] [stdout] 730 | |             println!("{}", entry.name.as_str().unwrap());
[INFO] [stdout] 731 | |         }
[INFO] [stdout] 732 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 733 | /     declare_primitive!("dup", env, {
[INFO] [stdout] 734 | |         let x = *env.data_stack.last()?;
[INFO] [stdout] 735 | |         env.data_stack.push(x)?;
[INFO] [stdout] 736 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 737 | /     declare_primitive!("drop", env, {
[INFO] [stdout] 738 | |         env.data_stack.pop()?;
[INFO] [stdout] 739 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 740 | /     declare_primitive!(".", env, {
[INFO] [stdout] 741 | |         let x = env.data_stack.pop()?;
[INFO] [stdout] 742 | |         env.print_number(x);
[INFO] [stdout] 743 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 744 | /     declare_primitive!("over", env, {
[INFO] [stdout] 745 | |         let a = env.data_stack.pop()?;
[INFO] [stdout] 746 | |         let b = env.data_stack.pop()?;
[INFO] [stdout] 747 | |         env.data_stack.push(b)?;
[INFO] [stdout] 748 | |         env.data_stack.push(a)?;
[INFO] [stdout] 749 | |         env.data_stack.push(b)?;
[INFO] [stdout] 750 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 751 | /     declare_primitive!("roll", env, {
[INFO] [stdout] 752 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stdout] 753 | |         return env.data_stack.roll(u);
[INFO] [stdout] 754 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 755 | /     declare_primitive!("/mod", env, {
[INFO] [stdout] 756 | |         let divisor = env.data_stack.pop()?;
[INFO] [stdout] 757 | |         if divisor == 0 {
[INFO] [stdout] 758 | |             return Err(Exception::from(Exception::DIVISION_BY_ZERO));
[INFO] [stdout] ...   |
[INFO] [stdout] 765 | |         env.data_stack.push(quotient)?;
[INFO] [stdout] 766 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 767 | /     declare_primitive!("here", env, {
[INFO] [stdout] 768 | |         let address: *mut Byte = unsafe { env.data_space_manager.here() };
[INFO] [stdout] 769 | |         env.data_stack.push(address as Cell)?;
[INFO] [stdout] 770 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 771 | /     declare_primitive!("allot", env, {
[INFO] [stdout] 772 | |         // TODO: Remove?
[INFO] [stdout] 773 | |         debug_assert_eq!(env.currently_compiling, Flag::False as Cell);
[INFO] [stdout] ...   |
[INFO] [stdout] 781 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 782 | /     declare_primitive!("@", env, {
[INFO] [stdout] 783 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 784 | |         let address = n as *mut Cell;
[INFO] [stdout] 785 | |         let data = unsafe { std::ptr::read_unaligned::<Cell>(address) };
[INFO] [stdout] 786 | |         env.data_stack.push(data)?;
[INFO] [stdout] 787 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 788 | /     declare_primitive!("!", env, {
[INFO] [stdout] 789 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 790 | |         let data = env.data_stack.pop()?;
[INFO] [stdout] 791 | |         let address = n as *mut Cell;
[INFO] [stdout] 792 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stdout] 793 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 794 | /     declare_primitive!("c@", env, {
[INFO] [stdout] 795 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 796 | |         let address = n as *mut Byte;
[INFO] [stdout] 797 | |         let data = unsafe { std::ptr::read_unaligned::<Byte>(address) };
[INFO] [stdout] 798 | |         env.data_stack.push(data as Cell)?;
[INFO] [stdout] 799 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 800 | /     declare_primitive!("c!", env, {
[INFO] [stdout] 801 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 802 | |         let data = env.data_stack.pop()? as Byte;
[INFO] [stdout] 803 | |         let address = n as *mut Byte;
[INFO] [stdout] 804 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stdout] 805 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 806 | /     declare_primitive!("emit", env, {
[INFO] [stdout] 807 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 808 | |         let c = (n as u8) as char;
[INFO] [stdout] 809 | |         print!("{c}");
[INFO] [stdout] 810 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 811 | /     declare_primitive!("base", env, {
[INFO] [stdout] 812 | |         let base_address: *mut Cell = &mut env.base;
[INFO] [stdout] 813 | |         env.data_stack.push(base_address as Cell)?;
[INFO] [stdout] 814 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 815 |     declare_binary_operator_primitive!("+", wrapping_add, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 816 |     declare_binary_operator_primitive!("-", wrapping_sub, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 817 |     declare_binary_operator_primitive!("*", wrapping_mul, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 818 |     declare_binary_operator_primitive!("and", bitand, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 819 |     declare_binary_operator_primitive!("or", bitor, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 820 |     declare_binary_operator_primitive!("xor", bitxor, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 821 |     declare_binary_operator_primitive!("mod", wrapping_rem, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 822 |     declare_binary_operator_primitive!("lshift", shl, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 823 |     declare_binary_operator_primitive!("rshift", shr, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 824 |     declare_unary_operator_primitive!("negate", wrapping_neg, data_stack),
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 825 |     declare_unary_operator_primitive!("invert", not, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 826 |     declare_compare_operator_primitive!("=", ==, data_stack),
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 827 |     declare_compare_operator_primitive!("<", <, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 828 |     declare_compare_operator_primitive!(">", >, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 829 | /     declare_primitive!(":", env, {
[INFO] [stdout] 830 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stdout] 831 | |         env.push_new_dictionary_entry(name, false, Default::default())?;
[INFO] [stdout] 832 | |         env.currently_compiling = Flag::True as Cell;
[INFO] [stdout] 833 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 834 | /     declare_primitive!("r>", env, {
[INFO] [stdout] 835 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stdout] 836 | |         let from_return_stack = env.return_stack.pop()?;
[INFO] [stdout] 837 | |         env.data_stack.push(from_return_stack.0.addr() as Cell)?;
[INFO] [stdout] 838 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stdout] 839 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 840 | /     declare_primitive!(">r", env, {
[INFO] [stdout] 841 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stdout] 842 | |         let from_data_stack = env.data_stack.pop()?;
[INFO] [stdout] 843 | |         env.return_stack
[INFO] [stdout] 844 | |             .push_ptr(from_data_stack as *const ForthOperation)?;
[INFO] [stdout] 845 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stdout] 846 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 847 | /     declare_primitive!("u.", env, {
[INFO] [stdout] 848 | |         let s = env.data_stack.pop()?;
[INFO] [stdout] 849 | |         let u: usize = s as usize;
[INFO] [stdout] 850 | |         env.print_number(u);
[INFO] [stdout] 851 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 852 | /     declare_primitive!("u<", env, {
[INFO] [stdout] 853 | |         let s2 = env.data_stack.pop()?;
[INFO] [stdout] 854 | |         let s1 = env.data_stack.pop()?;
[INFO] [stdout] 855 | |         let u2 = s2 as UCell;
[INFO] [stdout] ...   |
[INFO] [stdout] 859 | |         env.data_stack.push(result as Cell)?;
[INFO] [stdout] 860 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 861 | /     declare_primitive!("move", env, {
[INFO] [stdout] 862 | |         let length = env.data_stack.pop()? as usize;
[INFO] [stdout] 863 | |         let dest = env.data_stack.pop()? as *mut Byte;
[INFO] [stdout] 864 | |         let src = env.data_stack.pop()? as *const Byte;
[INFO] [stdout] 865 | |         unsafe { std::ptr::copy(src, dest, length) };
[INFO] [stdout] 866 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 867 | /     declare_primitive!("depth", env, {
[INFO] [stdout] 868 | |         env.data_stack.push(env.data_stack.len() as Cell)?;
[INFO] [stdout] 869 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 870 | /     declare_primitive!("quit", env, {
[INFO] [stdout] 871 | |         env.return_stack.clear();
[INFO] [stdout] 872 | |         // TODO: Don't print ok after execution
[INFO] [stdout] 873 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 874 | /     declare_primitive!(">in", env, {
[INFO] [stdout] 875 | |         let address: *mut Cell = &mut env.input_buffer_head;
[INFO] [stdout] 876 | |         let address = address as Cell;
[INFO] [stdout] 877 | |         env.data_stack.push(address)?;
[INFO] [stdout] 878 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 879 | /     declare_primitive!("state", env, {
[INFO] [stdout] 880 | |         let address: *mut Cell = &mut env.currently_compiling;
[INFO] [stdout] 881 | |         let address = address as Cell;
[INFO] [stdout] 882 | |         env.data_stack.push(address)?;
[INFO] [stdout] 883 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 884 | /     declare_primitive!("source", env, {
[INFO] [stdout] 885 | |         let address = env.input_buffer.as_ptr() as Cell;
[INFO] [stdout] 886 | |         let size = env.input_buffer.iter().take_while(|c| **c != 0).count() as Cell;
[INFO] [stdout] 887 | |         env.data_stack.push(address)?;
[INFO] [stdout] 888 | |         env.data_stack.push(size)?;
[INFO] [stdout] 889 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 890 | /     declare_primitive!("immediate", env, {
[INFO] [stdout] 891 | |         env.latest_mut().immediate = true;
[INFO] [stdout] 892 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 893 | /     declare_primitive!("word", env, {
[INFO] [stdout] 894 | |         let delimiter = env.data_stack.pop()?;
[INFO] [stdout] 895 | |         let token = env.next_token(USUAL_LEADING_DELIMITERS_TO_IGNORE, delimiter as Byte);
[INFO] [stdout] 896 | |         let token = token.to_owned(); // TODO: Copy into stack instead of heap (use alloca?)
[INFO] [stdout] ...   |
[INFO] [stdout] 899 | |         env.data_stack.push(token_address as Cell)?;
[INFO] [stdout] 900 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 901 | /     declare_primitive!("'", env, {
[INFO] [stdout] 902 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stdout] 903 | |         let entry = search_dictionary(&env.dictionary, &name)?;
[INFO] [stdout] 904 | |         let entry: *const DictionaryEntry = entry;
[INFO] [stdout] 905 | |         env.data_stack.push(entry as Cell)?;
[INFO] [stdout] 906 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 907 | /     declare_primitive!("execute", env, {
[INFO] [stdout] 908 | |         let entry = env.data_stack.pop()?;
[INFO] [stdout] 909 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stdout] 910 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stdout] 911 | |         env.execute_word(unsafe { entry.body() }.first().unwrap())?;
[INFO] [stdout] 912 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 913 | /     declare_primitive!(">body", env, {
[INFO] [stdout] 914 | |         let entry = env.data_stack.pop()?;
[INFO] [stdout] 915 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stdout] 916 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 921 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 922 | /     declare_primitive!("find", env, {
[INFO] [stdout] 923 | |         let name_address = env.data_stack.pop()?;
[INFO] [stdout] 924 | |         let name: &CountedString =
[INFO] [stdout] 925 | |             unsafe { (name_address as *const CountedString).as_ref() }.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 939 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 940 | /     declare_primitive!("see", env, {
[INFO] [stdout] 941 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stdout] 942 | |         let item = search_dictionary(&env.dictionary, &name)?;
[INFO] [stdout] 943 | |         println!(": {} ", item.name.as_str().unwrap());
[INFO] [stdout] ...   |
[INFO] [stdout] 971 | |         println!()
[INFO] [stdout] 972 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 977 | /     declare_primitive!("MAX-D", env, {
[INFO] [stdout] 978 | |         env.data_stack.push_double_cell(DoubleCell::MAX)?;
[INFO] [stdout] 979 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 980 | /     declare_primitive!("MAX-UD", env, {
[INFO] [stdout] 981 | |         env.data_stack
[INFO] [stdout] 982 | |             .push_double_cell(DoubleUCell::MAX as DoubleCell)?;
[INFO] [stdout] 983 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout]  984 | /     declare_primitive!("evaluate", env, {
[INFO] [stdout]  985 | |         let string_byte_count = env.data_stack.pop()? as usize;
[INFO] [stdout]  986 | |         let string_address = env.data_stack.pop()?;
[INFO] [stdout]  987 | |         let string_address = string_address as *const u8;
[INFO] [stdout] ...    |
[INFO] [stdout] 1005 | |         result?; // TODO: Correct?
[INFO] [stdout] 1006 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1007 | /     declare_primitive!("key", env, {
[INFO] [stdout] 1008 | |         let mut key_buffer: [Byte; 1] = [0; 1];
[INFO] [stdout] 1009 | |         std::io::stdin().read_exact(&mut key_buffer).unwrap();
[INFO] [stdout] 1010 | |         env.data_stack.push(*key_buffer.first().unwrap() as Cell)?;
[INFO] [stdout] 1011 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1012 | /     declare_primitive!("accept", env, {
[INFO] [stdout] 1013 | |         let max_length = env.data_stack.pop()?;
[INFO] [stdout] 1014 | |         let max_length = max_length as usize;
[INFO] [stdout] 1015 | |         let destination = env.data_stack.pop()?;
[INFO] [stdout] ...    |
[INFO] [stdout] 1018 | |         std::io::stdin().read_exact(buffer).unwrap();
[INFO] [stdout] 1019 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1020 | /     declare_primitive!("m*", env, {
[INFO] [stdout] 1021 | |         let x = env.data_stack.pop()?;
[INFO] [stdout] 1022 | |         let y = env.data_stack.pop()?;
[INFO] [stdout] 1023 | |         let result: DoubleCell = (x as DoubleCell) * (y as DoubleCell);
[INFO] [stdout] 1024 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stdout] 1025 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1026 | /     declare_primitive!("sm/rem", env, {
[INFO] [stdout] 1027 | |         let divisor: Cell = env.data_stack.pop()?;
[INFO] [stdout] 1028 | |         if divisor == 0 {
[INFO] [stdout] 1029 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stdout] ...    |
[INFO] [stdout] 1039 | |         env.data_stack.push(quotient)?;
[INFO] [stdout] 1040 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1041 | /     declare_immediate_primitive!(";", env, {
[INFO] [stdout] 1042 | |         env.append_to_latest_body(ForthOperation::Next);
[INFO] [stdout] ...    |
[INFO] [stdout] 1048 | |         env.currently_compiling = Flag::False as Cell;
[INFO] [stdout] 1049 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1050 | /     declare_primitive!("latest-push", env, {
[INFO] [stdout] 1051 | |         let op = env.pop_forth_operation()?;
[INFO] [stdout] 1052 | |         env.append_to_latest_body(op);
[INFO] [stdout] 1053 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1054 | /     declare_primitive!("latest-len", env, {
[INFO] [stdout] 1055 | |         env.data_stack
[INFO] [stdout] 1056 | |             .push(env.latest().body_item_count as UCell as Cell)?;
[INFO] [stdout] 1057 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1058 | /     declare_primitive!("latest!", env, {
[INFO] [stdout] 1059 | |         let index = env.data_stack.pop()? as UCell;
[INFO] [stdout] 1060 | |         let op = env.pop_forth_operation()?;
[INFO] [stdout] 1061 | |         unsafe { *env.latest_mut().body_mut().get_mut(index).unwrap() = op };
[INFO] [stdout] 1062 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1063 | /     declare_primitive!("cf>", env, {
[INFO] [stdout] 1064 | |         env.data_stack
[INFO] [stdout] 1065 | |             .push(env.control_flow_stack.pop()?.try_into().unwrap())?;
[INFO] [stdout] 1066 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1067 | /     declare_primitive!(">cf", env, {
[INFO] [stdout] 1068 | |         env.control_flow_stack
[INFO] [stdout] 1069 | |             .push(env.data_stack.pop()?.try_into().unwrap())?;
[INFO] [stdout] 1070 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1071 | /     declare_immediate_primitive!("(", env, {
[INFO] [stdout] 1072 | |         env.next_token(&[], b')');
[INFO] [stdout] 1073 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1074 | /     declare_immediate_primitive!("\\", env, {
[INFO] [stdout] 1075 | |         env.input_buffer_head = env.input_buffer.len() as Cell;
[INFO] [stdout] 1076 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1077 | /     declare_immediate_primitive!("s\"", env, {
[INFO] [stdout] 1078 | |         let input_buffer_string = env.next_token(&[], b'"').to_owned(); // TODO: Possible without copying to heap?
[INFO] [stdout] 1079 | |         if env.compile_mode() {
[INFO] [stdout] 1080 | |             let len: Cell = input_buffer_string.len().try_into().unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 1095 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1096 | /     declare_immediate_primitive!("recurse", env, {
[INFO] [stdout] 1097 | |         let latest = env.latest_mut();
[INFO] [stdout] 1098 | |         let call_self = ForthOperation::CallEntry(latest);
[INFO] [stdout] 1099 | |         env.append_to_latest_body(call_self);
[INFO] [stdout] 1100 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1101 | /     declare_primitive!("cl>", env, {
[INFO] [stdout] 1102 | |         env.data_stack
[INFO] [stdout] 1103 | |             .push_double_cell(env.counted_loop_stack.pop()?.into())?;
[INFO] [stdout] 1104 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1105 | /     declare_primitive!(">cl", env, {
[INFO] [stdout] 1106 | |         env.counted_loop_stack
[INFO] [stdout] 1107 | |             .push(env.data_stack.pop_double_cell().unwrap().into())?;
[INFO] [stdout] 1108 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1110 | /     declare_primitive!("syscall", env, {
[INFO] [stdout] 1111 | |         let arg6: u64 = env.data_stack.pop()? as u64;
[INFO] [stdout] 1112 | |         let arg5: u64 = env.data_stack.pop()? as u64;
[INFO] [stdout] 1113 | |         let arg4: u64 = env.data_stack.pop()? as u64;
[INFO] [stdout] ...    |
[INFO] [stdout] 1139 | |         env.data_stack.push(return_value2 as Cell)?;
[INFO] [stdout] 1140 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1141 | /     declare_immediate_primitive!(".(", env, {
[INFO] [stdout] 1142 | |         let bytes = env.next_token(&[], b')');
[INFO] [stdout] 1143 | |         let string = core::str::from_utf8(bytes).unwrap();
[INFO] [stdout] 1144 | |         print!("{string}");
[INFO] [stdout] 1145 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1146 | /     declare_primitive!(".R", env, {
[INFO] [stdout] 1147 | |         let alignment = env.data_stack.pop()?;
[INFO] [stdout] 1148 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stdout] 1149 | |         let number = env.data_stack.pop()?;
[INFO] [stdout] 1150 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stdout] 1151 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1152 | /     declare_primitive!("U.R", env, {
[INFO] [stdout] 1153 | |         let alignment = env.data_stack.pop()?;
[INFO] [stdout] 1154 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stdout] 1155 | |         let number = env.data_stack.pop()? as usize;
[INFO] [stdout] 1156 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stdout] 1157 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1158 | /     declare_primitive!("unused", env, {
[INFO] [stdout] 1159 | |         env.data_stack
[INFO] [stdout] 1160 | |             .push(env.data_space_manager.unused_area.len() as Cell)?;
[INFO] [stdout] 1161 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1162 | /     declare_primitive!("catch", env, {
[INFO] [stdout] 1163 | |         let execution_token = env.data_stack.pop()?;
[INFO] [stdout] 1164 | |         let entry = unsafe { (execution_token as *const DictionaryEntry).as_ref() }.unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 1192 | |         env.data_stack.push(err)?;
[INFO] [stdout] 1193 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1194 | /     declare_primitive!("throw", env, {
[INFO] [stdout] 1195 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 1196 | |         if n != 0 {
[INFO] [stdout] 1197 | |             return Err(Exception { value: n });
[INFO] [stdout] 1198 | |         }
[INFO] [stdout] 1199 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1200 | /     declare_primitive!("f.", env, {
[INFO] [stdout] 1201 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1202 | |         println!("{f}");
[INFO] [stdout] 1203 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1204 |     declare_binary_operator_primitive!("f*", mul, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1205 |     declare_binary_operator_primitive!("f+", add, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1206 |     declare_binary_operator_primitive!("f-", sub, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1207 | /     declare_primitive!("f/", env, {
[INFO] [stdout] 1208 | |         let divisor = env.floating_point_stack.pop()?;
[INFO] [stdout] 1209 | |         if divisor == 0.0 {
[INFO] [stdout] 1210 | |             return Err(Exception::from(Exception::FLOATING_POINT_DIVIDE_BY_ZERO));
[INFO] [stdout] ...    |
[INFO] [stdout] 1214 | |         env.floating_point_stack.push(divided / divisor)?;
[INFO] [stdout] 1215 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1216 | /     declare_primitive!("f0=", env, {
[INFO] [stdout] 1217 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1218 | |         env.data_stack.push(Flag::from(f == 0.0) as Cell)?;
[INFO] [stdout] 1219 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1220 |     declare_compare_operator_primitive!("f<", <, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1221 | /     declare_primitive!("fdrop", env, {
[INFO] [stdout] 1222 | |         env.floating_point_stack.pop()?;
[INFO] [stdout] 1223 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1224 | /     declare_primitive!("fdup", env, {
[INFO] [stdout] 1225 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1226 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1227 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1228 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1229 | /     declare_primitive!("fover", env, {
[INFO] [stdout] 1230 | |         let a = env.floating_point_stack.pop()?;
[INFO] [stdout] 1231 | |         let b = env.floating_point_stack.pop()?;
[INFO] [stdout] 1232 | |         env.floating_point_stack.push(b)?;
[INFO] [stdout] 1233 | |         env.floating_point_stack.push(a)?;
[INFO] [stdout] 1234 | |         env.floating_point_stack.push(b)?;
[INFO] [stdout] 1235 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1236 | /     declare_primitive!("froll", env, {
[INFO] [stdout] 1237 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stdout] 1238 | |         return env.floating_point_stack.roll(u);
[INFO] [stdout] 1239 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1240 | /     declare_primitive!("fdepth", env, {
[INFO] [stdout] 1241 | |         env.data_stack
[INFO] [stdout] 1242 | |             .push(env.floating_point_stack.len() as Cell)?;
[INFO] [stdout] 1243 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1244 | /     declare_primitive!("floor", env, {
[INFO] [stdout] 1245 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1246 | |         env.floating_point_stack.push(f.floor())?;
[INFO] [stdout] 1247 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1248 | /     declare_primitive!("fround", env, {
[INFO] [stdout] 1249 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1250 | |         env.floating_point_stack.push(f.round())?;
[INFO] [stdout] 1251 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1252 | /     declare_primitive!("f@", env, {
[INFO] [stdout] 1253 | |         let address = env.data_stack.pop()? as *const Float;
[INFO] [stdout] 1254 | |         let f = unsafe { std::ptr::read_unaligned::<Float>(address) };
[INFO] [stdout] 1255 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1256 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1257 | /     declare_primitive!("f!", env, {
[INFO] [stdout] 1258 | |         let address = env.data_stack.pop()? as *mut Float;
[INFO] [stdout] 1259 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1260 | |         unsafe { std::ptr::write_unaligned(address, f) };
[INFO] [stdout] 1261 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1262 | /     declare_primitive!(">float", env, {
[INFO] [stdout] 1263 | |         let string_byte_count = env.data_stack.pop()? as UCell;
[INFO] [stdout] 1264 | |         let string_address = env.data_stack.pop()? as *const Byte;
[INFO] [stdout] 1265 | |         let string = unsafe { core::slice::from_raw_parts(string_address, string_byte_count) };
[INFO] [stdout] ...    |
[INFO] [stdout] 1275 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1276 | /     declare_primitive!("d>f", env, {
[INFO] [stdout] 1277 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1278 | |         let f = d as Float;
[INFO] [stdout] 1279 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1280 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1281 | /     declare_primitive!("f>d", env, {
[INFO] [stdout] 1282 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1283 | |         let d = f as DoubleCell;
[INFO] [stdout] 1284 | |         env.data_stack.push_double_cell(d)?;
[INFO] [stdout] 1285 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1286 | /     declare_primitive!("falign", env, {
[INFO] [stdout] 1287 | |         let here = unsafe { env.data_space_manager.here() } as usize;
[INFO] [stdout] 1288 | |         env.data_space_manager
[INFO] [stdout] 1289 | |             .allot(align_to_float(here) - here)
[INFO] [stdout] 1290 | |             .unwrap();
[INFO] [stdout] 1291 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1292 | /     declare_primitive!("faligned", env, {
[INFO] [stdout] 1293 | |         let address = env.data_stack.pop()? as usize;
[INFO] [stdout] 1294 | |         env.data_stack.push(align_to_float(address) as Cell)?;
[INFO] [stdout] 1295 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1296 |     declare_unary_operator_primitive!("fabs", abs, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1297 |     declare_unary_operator_primitive!("facos", acos, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1298 |     declare_unary_operator_primitive!("facosh", acosh, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1299 |     declare_unary_operator_primitive!("falog", log10, floating_point_stack),
[INFO] [stdout]      |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1300 |     declare_unary_operator_primitive!("fasin", asin, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1301 |     declare_unary_operator_primitive!("fasinh", asinh, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1302 |     declare_unary_operator_primitive!("fatan", atan, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1303 |     declare_unary_operator_primitive!("fatanh", atanh, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1304 |     declare_unary_operator_primitive!("fcos", cos, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1305 |     declare_unary_operator_primitive!("fcosh", cosh, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1306 |     declare_unary_operator_primitive!("fexp", exp, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1307 |     declare_unary_operator_primitive!("fln", ln, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1308 |     declare_unary_operator_primitive!("flog", log10, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1309 |     declare_unary_operator_primitive!("fsin", sin, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1310 |     declare_unary_operator_primitive!("fsinh", sinh, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1311 |     declare_unary_operator_primitive!("ftan", tan, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1312 |     declare_unary_operator_primitive!("ftanh", tanh, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1313 |     declare_unary_operator_primitive!("fsqrt", sqrt, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1314 |     declare_binary_operator_primitive!("f**", powf, floating_point_stack),
[INFO] [stdout]      |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1315 | /     declare_primitive!("fsincos", env, {
[INFO] [stdout] 1316 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stdout] 1317 | |         let (r2, r3) = r1.sin_cos();
[INFO] [stdout] 1318 | |         env.floating_point_stack.push(r2)?;
[INFO] [stdout] 1319 | |         env.floating_point_stack.push(r3)?;
[INFO] [stdout] 1320 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1321 |     declare_unary_operator_primitive!("fexpm1", exp_m1, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1322 |     declare_unary_operator_primitive!("flnp1", ln_1p, floating_point_stack),
[INFO] [stdout]      |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1323 |     declare_binary_operator_primitive!("fatan2", atan2, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1324 | /     declare_primitive!("f~", env, {
[INFO] [stdout] 1325 | |         let r3 = env.floating_point_stack.pop()?;
[INFO] [stdout] 1326 | |         let r2 = env.floating_point_stack.pop()?;
[INFO] [stdout] 1327 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stdout] ...    |
[INFO] [stdout] 1338 | |         env.data_stack.push(f as Cell)?;
[INFO] [stdout] 1339 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1341 | /     declare_primitive!("ms", env, {
[INFO] [stdout] 1342 | |         let ms = env.data_stack.pop()?;
[INFO] [stdout] 1343 | |         std::thread::sleep(std::time::Duration::from_millis(ms as u64));
[INFO] [stdout] 1344 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1345 | /     declare_primitive!("d+", env, {
[INFO] [stdout] 1346 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1347 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1348 | |         let d3 = d1.wrapping_add(d2);
[INFO] [stdout] 1349 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stdout] 1350 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1351 | /     declare_primitive!("d-", env, {
[INFO] [stdout] 1352 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1353 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1354 | |         let d3 = d1.wrapping_sub(d2);
[INFO] [stdout] 1355 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stdout] 1356 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1357 | /     declare_primitive!("d<", env, {
[INFO] [stdout] 1358 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1359 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1360 | |         let f: Flag = (d1 < d2).into();
[INFO] [stdout] 1361 | |         env.data_stack.push(f as Cell)?;
[INFO] [stdout] 1362 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1363 | /     declare_primitive!("dnegate", env, {
[INFO] [stdout] 1364 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1365 | |         let d2 = d1.wrapping_neg();
[INFO] [stdout] 1366 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stdout] 1367 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1368 | /     declare_primitive!("d>s", env, {
[INFO] [stdout] 1369 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1370 | |         let n: Cell = d
[INFO] [stdout] 1371 | |             .clamp(Cell::MIN as DoubleCell, Cell::MAX as DoubleCell)
[INFO] [stdout] ...    |
[INFO] [stdout] 1374 | |         env.data_stack.push(n)?;
[INFO] [stdout] 1375 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1376 | /     declare_primitive!("d.r", env, {
[INFO] [stdout] 1377 | |         let alignment = env.data_stack.pop()?;
[INFO] [stdout] 1378 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1379 | |         let string = env.format_number(d, alignment as usize);
[INFO] [stdout] 1380 | |         print!("{string}");
[INFO] [stdout] 1381 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1382 | /     declare_primitive!("d2*", env, {
[INFO] [stdout] 1383 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1384 | |         env.data_stack.push_double_cell(d << 1)?;
[INFO] [stdout] 1385 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1386 | /     declare_primitive!("d2/", env, {
[INFO] [stdout] 1387 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1388 | |         env.data_stack.push_double_cell(d >> 1)?;
[INFO] [stdout] 1389 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1390 | /     declare_primitive!("m+", env, {
[INFO] [stdout] 1391 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 1392 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1393 | |         let d2 = d1 + n as DoubleCell;
[INFO] [stdout] 1394 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stdout] 1395 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1396 | /     declare_primitive!("m*/", env, {
[INFO] [stdout] 1397 | |         let divisor = env.data_stack.pop()?;
[INFO] [stdout] 1398 | |         if divisor == 0 {
[INFO] [stdout] 1399 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stdout] ...    |
[INFO] [stdout] 1487 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stdout] 1488 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         core::slice::from_raw_parts(self.data.as_ptr(), self.len as usize)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:360:5
[INFO] [stdout]     |
[INFO] [stdout] 360 |     unsafe fn as_slice(&self) -> &[Byte] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:376:15
[INFO] [stdout]     |
[INFO] [stdout] 376 |         Some(&*(dst.as_ptr() as *const CountedString))
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:364:5
[INFO] [stdout]     |
[INFO] [stdout] 364 |     unsafe fn from_slice<'a>(src: &[Byte], dst: &'a mut [Byte]) -> Option<&'a CountedString> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 |         core::slice::from_raw_parts(self.body_start.as_ptr(), self.body_item_count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:497:5
[INFO] [stdout]     |
[INFO] [stdout] 497 |     unsafe fn body(&self) -> &[ForthOperation] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:501:9
[INFO] [stdout]     |
[INFO] [stdout] 501 |         core::slice::from_raw_parts_mut(self.body_start.as_mut_ptr(), self.body_item_count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:500:5
[INFO] [stdout]     |
[INFO] [stdout] 500 |     unsafe fn body_mut(&mut self) -> &mut [ForthOperation] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `liorforth`
[INFO] [stderr]  --> src/main.rs
[INFO] [stderr]   = cause: error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            718 | /     declare_primitive!(".s", env, {
[INFO] [stderr]            719 | |         let len = env.data_stack.len();
[INFO] [stderr]            720 | |         print!("<{len}> ");
[INFO] [stderr]            721 | |         for i in &env.data_stack.data[0..len] {
[INFO] [stderr]            ...   |
[INFO] [stderr]            724 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            725 | /     declare_primitive!("bye", _env, {
[INFO] [stderr]            726 | |         std::process::exit(0);
[INFO] [stderr]            727 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            728 | /     declare_primitive!("words", env, {
[INFO] [stderr]            729 | |         for entry in env.dictionary.iter() {
[INFO] [stderr]            730 | |             println!("{}", entry.name.as_str().unwrap());
[INFO] [stderr]            731 | |         }
[INFO] [stderr]            732 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            733 | /     declare_primitive!("dup", env, {
[INFO] [stderr]            734 | |         let x = *env.data_stack.last()?;
[INFO] [stderr]            735 | |         env.data_stack.push(x)?;
[INFO] [stderr]            736 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            737 | /     declare_primitive!("drop", env, {
[INFO] [stderr]            738 | |         env.data_stack.pop()?;
[INFO] [stderr]            739 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            740 | /     declare_primitive!(".", env, {
[INFO] [stderr]            741 | |         let x = env.data_stack.pop()?;
[INFO] [stderr]            742 | |         env.print_number(x);
[INFO] [stderr]            743 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            744 | /     declare_primitive!("over", env, {
[INFO] [stderr]            745 | |         let a = env.data_stack.pop()?;
[INFO] [stderr]            746 | |         let b = env.data_stack.pop()?;
[INFO] [stderr]            747 | |         env.data_stack.push(b)?;
[INFO] [stderr]            748 | |         env.data_stack.push(a)?;
[INFO] [stderr]            749 | |         env.data_stack.push(b)?;
[INFO] [stderr]            750 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            751 | /     declare_primitive!("roll", env, {
[INFO] [stderr]            752 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stderr]            753 | |         return env.data_stack.roll(u);
[INFO] [stderr]            754 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            755 | /     declare_primitive!("/mod", env, {
[INFO] [stderr]            756 | |         let divisor = env.data_stack.pop()?;
[INFO] [stderr]            757 | |         if divisor == 0 {
[INFO] [stderr]            758 | |             return Err(Exception::from(Exception::DIVISION_BY_ZERO));
[INFO] [stderr]            ...   |
[INFO] [stderr]            765 | |         env.data_stack.push(quotient)?;
[INFO] [stderr]            766 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            767 | /     declare_primitive!("here", env, {
[INFO] [stderr]            768 | |         let address: *mut Byte = unsafe { env.data_space_manager.here() };
[INFO] [stderr]            769 | |         env.data_stack.push(address as Cell)?;
[INFO] [stderr]            770 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            771 | /     declare_primitive!("allot", env, {
[INFO] [stderr]            772 | |         // TODO: Remove?
[INFO] [stderr]            773 | |         debug_assert_eq!(env.currently_compiling, Flag::False as Cell);
[INFO] [stderr]            ...   |
[INFO] [stderr]            781 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            782 | /     declare_primitive!("@", env, {
[INFO] [stderr]            783 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            784 | |         let address = n as *mut Cell;
[INFO] [stderr]            785 | |         let data = unsafe { std::ptr::read_unaligned::<Cell>(address) };
[INFO] [stderr]            786 | |         env.data_stack.push(data)?;
[INFO] [stderr]            787 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            788 | /     declare_primitive!("!", env, {
[INFO] [stderr]            789 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            790 | |         let data = env.data_stack.pop()?;
[INFO] [stderr]            791 | |         let address = n as *mut Cell;
[INFO] [stderr]            792 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stderr]            793 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            794 | /     declare_primitive!("c@", env, {
[INFO] [stderr]            795 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            796 | |         let address = n as *mut Byte;
[INFO] [stderr]            797 | |         let data = unsafe { std::ptr::read_unaligned::<Byte>(address) };
[INFO] [stderr]            798 | |         env.data_stack.push(data as Cell)?;
[INFO] [stderr]            799 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            800 | /     declare_primitive!("c!", env, {
[INFO] [stderr]            801 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            802 | |         let data = env.data_stack.pop()? as Byte;
[INFO] [stderr]            803 | |         let address = n as *mut Byte;
[INFO] [stderr]            804 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stderr]            805 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            806 | /     declare_primitive!("emit", env, {
[INFO] [stderr]            807 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            808 | |         let c = (n as u8) as char;
[INFO] [stderr]            809 | |         print!("{c}");
[INFO] [stderr]            810 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            811 | /     declare_primitive!("base", env, {
[INFO] [stderr]            812 | |         let base_address: *mut Cell = &mut env.base;
[INFO] [stderr]            813 | |         env.data_stack.push(base_address as Cell)?;
[INFO] [stderr]            814 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            815 |     declare_binary_operator_primitive!("+", wrapping_add, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            816 |     declare_binary_operator_primitive!("-", wrapping_sub, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            817 |     declare_binary_operator_primitive!("*", wrapping_mul, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            818 |     declare_binary_operator_primitive!("and", bitand, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            819 |     declare_binary_operator_primitive!("or", bitor, data_stack),
[INFO] [stderr]                |     ----------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            820 |     declare_binary_operator_primitive!("xor", bitxor, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            821 |     declare_binary_operator_primitive!("mod", wrapping_rem, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            822 |     declare_binary_operator_primitive!("lshift", shl, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            823 |     declare_binary_operator_primitive!("rshift", shr, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            824 |     declare_unary_operator_primitive!("negate", wrapping_neg, data_stack),
[INFO] [stderr]                |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            825 |     declare_unary_operator_primitive!("invert", not, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            826 |     declare_compare_operator_primitive!("=", ==, data_stack),
[INFO] [stderr]                |     -------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            827 |     declare_compare_operator_primitive!("<", <, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            828 |     declare_compare_operator_primitive!(">", >, data_stack),
[INFO] [stderr]                |     ------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            829 | /     declare_primitive!(":", env, {
[INFO] [stderr]            830 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stderr]            831 | |         env.push_new_dictionary_entry(name, false, Default::default())?;
[INFO] [stderr]            832 | |         env.currently_compiling = Flag::True as Cell;
[INFO] [stderr]            833 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            834 | /     declare_primitive!("r>", env, {
[INFO] [stderr]            835 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stderr]            836 | |         let from_return_stack = env.return_stack.pop()?;
[INFO] [stderr]            837 | |         env.data_stack.push(from_return_stack.0.addr() as Cell)?;
[INFO] [stderr]            838 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stderr]            839 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            840 | /     declare_primitive!(">r", env, {
[INFO] [stderr]            841 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stderr]            842 | |         let from_data_stack = env.data_stack.pop()?;
[INFO] [stderr]            843 | |         env.return_stack
[INFO] [stderr]            844 | |             .push_ptr(from_data_stack as *const ForthOperation)?;
[INFO] [stderr]            845 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stderr]            846 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            847 | /     declare_primitive!("u.", env, {
[INFO] [stderr]            848 | |         let s = env.data_stack.pop()?;
[INFO] [stderr]            849 | |         let u: usize = s as usize;
[INFO] [stderr]            850 | |         env.print_number(u);
[INFO] [stderr]            851 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            852 | /     declare_primitive!("u<", env, {
[INFO] [stderr]            853 | |         let s2 = env.data_stack.pop()?;
[INFO] [stderr]            854 | |         let s1 = env.data_stack.pop()?;
[INFO] [stderr]            855 | |         let u2 = s2 as UCell;
[INFO] [stderr]            ...   |
[INFO] [stderr]            859 | |         env.data_stack.push(result as Cell)?;
[INFO] [stderr]            860 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            861 | /     declare_primitive!("move", env, {
[INFO] [stderr]            862 | |         let length = env.data_stack.pop()? as usize;
[INFO] [stderr]            863 | |         let dest = env.data_stack.pop()? as *mut Byte;
[INFO] [stderr]            864 | |         let src = env.data_stack.pop()? as *const Byte;
[INFO] [stderr]            865 | |         unsafe { std::ptr::copy(src, dest, length) };
[INFO] [stderr]            866 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            867 | /     declare_primitive!("depth", env, {
[INFO] [stderr]            868 | |         env.data_stack.push(env.data_stack.len() as Cell)?;
[INFO] [stderr]            869 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            870 | /     declare_primitive!("quit", env, {
[INFO] [stderr]            871 | |         env.return_stack.clear();
[INFO] [stderr]            872 | |         // TODO: Don't print ok after execution
[INFO] [stderr]            873 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            874 | /     declare_primitive!(">in", env, {
[INFO] [stderr]            875 | |         let address: *mut Cell = &mut env.input_buffer_head;
[INFO] [stderr]            876 | |         let address = address as Cell;
[INFO] [stderr]            877 | |         env.data_stack.push(address)?;
[INFO] [stderr]            878 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            879 | /     declare_primitive!("state", env, {
[INFO] [stderr]            880 | |         let address: *mut Cell = &mut env.currently_compiling;
[INFO] [stderr]            881 | |         let address = address as Cell;
[INFO] [stderr]            882 | |         env.data_stack.push(address)?;
[INFO] [stderr]            883 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            884 | /     declare_primitive!("source", env, {
[INFO] [stderr]            885 | |         let address = env.input_buffer.as_ptr() as Cell;
[INFO] [stderr]            886 | |         let size = env.input_buffer.iter().take_while(|c| **c != 0).count() as Cell;
[INFO] [stderr]            887 | |         env.data_stack.push(address)?;
[INFO] [stderr]            888 | |         env.data_stack.push(size)?;
[INFO] [stderr]            889 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            890 | /     declare_primitive!("immediate", env, {
[INFO] [stderr]            891 | |         env.latest_mut().immediate = true;
[INFO] [stderr]            892 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            893 | /     declare_primitive!("word", env, {
[INFO] [stderr]            894 | |         let delimiter = env.data_stack.pop()?;
[INFO] [stderr]            895 | |         let token = env.next_token(USUAL_LEADING_DELIMITERS_TO_IGNORE, delimiter as Byte);
[INFO] [stderr]            896 | |         let token = token.to_owned(); // TODO: Copy into stack instead of heap (use alloca?)
[INFO] [stderr]            ...   |
[INFO] [stderr]            899 | |         env.data_stack.push(token_address as Cell)?;
[INFO] [stderr]            900 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            901 | /     declare_primitive!("'", env, {
[INFO] [stderr]            902 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stderr]            903 | |         let entry = search_dictionary(&env.dictionary, &name)?;
[INFO] [stderr]            904 | |         let entry: *const DictionaryEntry = entry;
[INFO] [stderr]            905 | |         env.data_stack.push(entry as Cell)?;
[INFO] [stderr]            906 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            907 | /     declare_primitive!("execute", env, {
[INFO] [stderr]            908 | |         let entry = env.data_stack.pop()?;
[INFO] [stderr]            909 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stderr]            910 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stderr]            911 | |         env.execute_word(unsafe { entry.body() }.first().unwrap())?;
[INFO] [stderr]            912 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            913 | /     declare_primitive!(">body", env, {
[INFO] [stderr]            914 | |         let entry = env.data_stack.pop()?;
[INFO] [stderr]            915 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stderr]            916 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stderr]            ...   |
[INFO] [stderr]            921 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            922 | /     declare_primitive!("find", env, {
[INFO] [stderr]            923 | |         let name_address = env.data_stack.pop()?;
[INFO] [stderr]            924 | |         let name: &CountedString =
[INFO] [stderr]            925 | |             unsafe { (name_address as *const CountedString).as_ref() }.unwrap();
[INFO] [stderr]            ...   |
[INFO] [stderr]            939 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            940 | /     declare_primitive!("see", env, {
[INFO] [stderr]            941 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stderr]            942 | |         let item = search_dictionary(&env.dictionary, &name)?;
[INFO] [stderr]            943 | |         println!(": {} ", item.name.as_str().unwrap());
[INFO] [stderr]            ...   |
[INFO] [stderr]            971 | |         println!()
[INFO] [stderr]            972 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            977 | /     declare_primitive!("MAX-D", env, {
[INFO] [stderr]            978 | |         env.data_stack.push_double_cell(DoubleCell::MAX)?;
[INFO] [stderr]            979 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]               --> src/main.rs:651:39
[INFO] [stderr]                |
[INFO] [stderr]            651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            980 | /     declare_primitive!("MAX-UD", env, {
[INFO] [stderr]            981 | |         env.data_stack
[INFO] [stderr]            982 | |             .push_double_cell(DoubleUCell::MAX as DoubleCell)?;
[INFO] [stderr]            983 | |     }),
[INFO] [stderr]                | |______- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]                = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]             984 | /     declare_primitive!("evaluate", env, {
[INFO] [stderr]             985 | |         let string_byte_count = env.data_stack.pop()? as usize;
[INFO] [stderr]             986 | |         let string_address = env.data_stack.pop()?;
[INFO] [stderr]             987 | |         let string_address = string_address as *const u8;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1005 | |         result?; // TODO: Correct?
[INFO] [stderr]            1006 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1007 | /     declare_primitive!("key", env, {
[INFO] [stderr]            1008 | |         let mut key_buffer: [Byte; 1] = [0; 1];
[INFO] [stderr]            1009 | |         std::io::stdin().read_exact(&mut key_buffer).unwrap();
[INFO] [stderr]            1010 | |         env.data_stack.push(*key_buffer.first().unwrap() as Cell)?;
[INFO] [stderr]            1011 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1012 | /     declare_primitive!("accept", env, {
[INFO] [stderr]            1013 | |         let max_length = env.data_stack.pop()?;
[INFO] [stderr]            1014 | |         let max_length = max_length as usize;
[INFO] [stderr]            1015 | |         let destination = env.data_stack.pop()?;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1018 | |         std::io::stdin().read_exact(buffer).unwrap();
[INFO] [stderr]            1019 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1020 | /     declare_primitive!("m*", env, {
[INFO] [stderr]            1021 | |         let x = env.data_stack.pop()?;
[INFO] [stderr]            1022 | |         let y = env.data_stack.pop()?;
[INFO] [stderr]            1023 | |         let result: DoubleCell = (x as DoubleCell) * (y as DoubleCell);
[INFO] [stderr]            1024 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stderr]            1025 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1026 | /     declare_primitive!("sm/rem", env, {
[INFO] [stderr]            1027 | |         let divisor: Cell = env.data_stack.pop()?;
[INFO] [stderr]            1028 | |         if divisor == 0 {
[INFO] [stderr]            1029 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stderr]            ...    |
[INFO] [stderr]            1039 | |         env.data_stack.push(quotient)?;
[INFO] [stderr]            1040 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1041 | /     declare_immediate_primitive!(";", env, {
[INFO] [stderr]            1042 | |         env.append_to_latest_body(ForthOperation::Next);
[INFO] [stderr]            ...    |
[INFO] [stderr]            1048 | |         env.currently_compiling = Flag::False as Cell;
[INFO] [stderr]            1049 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1050 | /     declare_primitive!("latest-push", env, {
[INFO] [stderr]            1051 | |         let op = env.pop_forth_operation()?;
[INFO] [stderr]            1052 | |         env.append_to_latest_body(op);
[INFO] [stderr]            1053 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1054 | /     declare_primitive!("latest-len", env, {
[INFO] [stderr]            1055 | |         env.data_stack
[INFO] [stderr]            1056 | |             .push(env.latest().body_item_count as UCell as Cell)?;
[INFO] [stderr]            1057 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1058 | /     declare_primitive!("latest!", env, {
[INFO] [stderr]            1059 | |         let index = env.data_stack.pop()? as UCell;
[INFO] [stderr]            1060 | |         let op = env.pop_forth_operation()?;
[INFO] [stderr]            1061 | |         unsafe { *env.latest_mut().body_mut().get_mut(index).unwrap() = op };
[INFO] [stderr]            1062 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1063 | /     declare_primitive!("cf>", env, {
[INFO] [stderr]            1064 | |         env.data_stack
[INFO] [stderr]            1065 | |             .push(env.control_flow_stack.pop()?.try_into().unwrap())?;
[INFO] [stderr]            1066 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1067 | /     declare_primitive!(">cf", env, {
[INFO] [stderr]            1068 | |         env.control_flow_stack
[INFO] [stderr]            1069 | |             .push(env.data_stack.pop()?.try_into().unwrap())?;
[INFO] [stderr]            1070 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1071 | /     declare_immediate_primitive!("(", env, {
[INFO] [stderr]            1072 | |         env.next_token(&[], b')');
[INFO] [stderr]            1073 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1074 | /     declare_immediate_primitive!("\\", env, {
[INFO] [stderr]            1075 | |         env.input_buffer_head = env.input_buffer.len() as Cell;
[INFO] [stderr]            1076 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1077 | /     declare_immediate_primitive!("s\"", env, {
[INFO] [stderr]            1078 | |         let input_buffer_string = env.next_token(&[], b'"').to_owned(); // TODO: Possible without copying to heap?
[INFO] [stderr]            1079 | |         if env.compile_mode() {
[INFO] [stderr]            1080 | |             let len: Cell = input_buffer_string.len().try_into().unwrap();
[INFO] [stderr]            ...    |
[INFO] [stderr]            1095 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1096 | /     declare_immediate_primitive!("recurse", env, {
[INFO] [stderr]            1097 | |         let latest = env.latest_mut();
[INFO] [stderr]            1098 | |         let call_self = ForthOperation::CallEntry(latest);
[INFO] [stderr]            1099 | |         env.append_to_latest_body(call_self);
[INFO] [stderr]            1100 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1101 | /     declare_primitive!("cl>", env, {
[INFO] [stderr]            1102 | |         env.data_stack
[INFO] [stderr]            1103 | |             .push_double_cell(env.counted_loop_stack.pop()?.into())?;
[INFO] [stderr]            1104 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1105 | /     declare_primitive!(">cl", env, {
[INFO] [stderr]            1106 | |         env.counted_loop_stack
[INFO] [stderr]            1107 | |             .push(env.data_stack.pop_double_cell().unwrap().into())?;
[INFO] [stderr]            1108 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1110 | /     declare_primitive!("syscall", env, {
[INFO] [stderr]            1111 | |         let arg6: u64 = env.data_stack.pop()? as u64;
[INFO] [stderr]            1112 | |         let arg5: u64 = env.data_stack.pop()? as u64;
[INFO] [stderr]            1113 | |         let arg4: u64 = env.data_stack.pop()? as u64;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1139 | |         env.data_stack.push(return_value2 as Cell)?;
[INFO] [stderr]            1140 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1141 | /     declare_immediate_primitive!(".(", env, {
[INFO] [stderr]            1142 | |         let bytes = env.next_token(&[], b')');
[INFO] [stderr]            1143 | |         let string = core::str::from_utf8(bytes).unwrap();
[INFO] [stderr]            1144 | |         print!("{string}");
[INFO] [stderr]            1145 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1146 | /     declare_primitive!(".R", env, {
[INFO] [stderr]            1147 | |         let alignment = env.data_stack.pop()?;
[INFO] [stderr]            1148 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stderr]            1149 | |         let number = env.data_stack.pop()?;
[INFO] [stderr]            1150 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stderr]            1151 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1152 | /     declare_primitive!("U.R", env, {
[INFO] [stderr]            1153 | |         let alignment = env.data_stack.pop()?;
[INFO] [stderr]            1154 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stderr]            1155 | |         let number = env.data_stack.pop()? as usize;
[INFO] [stderr]            1156 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stderr]            1157 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1158 | /     declare_primitive!("unused", env, {
[INFO] [stderr]            1159 | |         env.data_stack
[INFO] [stderr]            1160 | |             .push(env.data_space_manager.unused_area.len() as Cell)?;
[INFO] [stderr]            1161 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1162 | /     declare_primitive!("catch", env, {
[INFO] [stderr]            1163 | |         let execution_token = env.data_stack.pop()?;
[INFO] [stderr]            1164 | |         let entry = unsafe { (execution_token as *const DictionaryEntry).as_ref() }.unwrap();
[INFO] [stderr]            ...    |
[INFO] [stderr]            1192 | |         env.data_stack.push(err)?;
[INFO] [stderr]            1193 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1194 | /     declare_primitive!("throw", env, {
[INFO] [stderr]            1195 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            1196 | |         if n != 0 {
[INFO] [stderr]            1197 | |             return Err(Exception { value: n });
[INFO] [stderr]            1198 | |         }
[INFO] [stderr]            1199 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1200 | /     declare_primitive!("f.", env, {
[INFO] [stderr]            1201 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1202 | |         println!("{f}");
[INFO] [stderr]            1203 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1204 |     declare_binary_operator_primitive!("f*", mul, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1205 |     declare_binary_operator_primitive!("f+", add, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1206 |     declare_binary_operator_primitive!("f-", sub, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1207 | /     declare_primitive!("f/", env, {
[INFO] [stderr]            1208 | |         let divisor = env.floating_point_stack.pop()?;
[INFO] [stderr]            1209 | |         if divisor == 0.0 {
[INFO] [stderr]            1210 | |             return Err(Exception::from(Exception::FLOATING_POINT_DIVIDE_BY_ZERO));
[INFO] [stderr]            ...    |
[INFO] [stderr]            1214 | |         env.floating_point_stack.push(divided / divisor)?;
[INFO] [stderr]            1215 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1216 | /     declare_primitive!("f0=", env, {
[INFO] [stderr]            1217 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1218 | |         env.data_stack.push(Flag::from(f == 0.0) as Cell)?;
[INFO] [stderr]            1219 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1220 |     declare_compare_operator_primitive!("f<", <, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1221 | /     declare_primitive!("fdrop", env, {
[INFO] [stderr]            1222 | |         env.floating_point_stack.pop()?;
[INFO] [stderr]            1223 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1224 | /     declare_primitive!("fdup", env, {
[INFO] [stderr]            1225 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1226 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1227 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1228 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1229 | /     declare_primitive!("fover", env, {
[INFO] [stderr]            1230 | |         let a = env.floating_point_stack.pop()?;
[INFO] [stderr]            1231 | |         let b = env.floating_point_stack.pop()?;
[INFO] [stderr]            1232 | |         env.floating_point_stack.push(b)?;
[INFO] [stderr]            1233 | |         env.floating_point_stack.push(a)?;
[INFO] [stderr]            1234 | |         env.floating_point_stack.push(b)?;
[INFO] [stderr]            1235 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1236 | /     declare_primitive!("froll", env, {
[INFO] [stderr]            1237 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stderr]            1238 | |         return env.floating_point_stack.roll(u);
[INFO] [stderr]            1239 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1240 | /     declare_primitive!("fdepth", env, {
[INFO] [stderr]            1241 | |         env.data_stack
[INFO] [stderr]            1242 | |             .push(env.floating_point_stack.len() as Cell)?;
[INFO] [stderr]            1243 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1244 | /     declare_primitive!("floor", env, {
[INFO] [stderr]            1245 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1246 | |         env.floating_point_stack.push(f.floor())?;
[INFO] [stderr]            1247 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1248 | /     declare_primitive!("fround", env, {
[INFO] [stderr]            1249 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1250 | |         env.floating_point_stack.push(f.round())?;
[INFO] [stderr]            1251 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1252 | /     declare_primitive!("f@", env, {
[INFO] [stderr]            1253 | |         let address = env.data_stack.pop()? as *const Float;
[INFO] [stderr]            1254 | |         let f = unsafe { std::ptr::read_unaligned::<Float>(address) };
[INFO] [stderr]            1255 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1256 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1257 | /     declare_primitive!("f!", env, {
[INFO] [stderr]            1258 | |         let address = env.data_stack.pop()? as *mut Float;
[INFO] [stderr]            1259 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1260 | |         unsafe { std::ptr::write_unaligned(address, f) };
[INFO] [stderr]            1261 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1262 | /     declare_primitive!(">float", env, {
[INFO] [stderr]            1263 | |         let string_byte_count = env.data_stack.pop()? as UCell;
[INFO] [stderr]            1264 | |         let string_address = env.data_stack.pop()? as *const Byte;
[INFO] [stderr]            1265 | |         let string = unsafe { core::slice::from_raw_parts(string_address, string_byte_count) };
[INFO] [stderr]            ...    |
[INFO] [stderr]            1275 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1276 | /     declare_primitive!("d>f", env, {
[INFO] [stderr]            1277 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1278 | |         let f = d as Float;
[INFO] [stderr]            1279 | |         env.floating_point_stack.push(f)?;
[INFO] [stderr]            1280 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1281 | /     declare_primitive!("f>d", env, {
[INFO] [stderr]            1282 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stderr]            1283 | |         let d = f as DoubleCell;
[INFO] [stderr]            1284 | |         env.data_stack.push_double_cell(d)?;
[INFO] [stderr]            1285 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1286 | /     declare_primitive!("falign", env, {
[INFO] [stderr]            1287 | |         let here = unsafe { env.data_space_manager.here() } as usize;
[INFO] [stderr]            1288 | |         env.data_space_manager
[INFO] [stderr]            1289 | |             .allot(align_to_float(here) - here)
[INFO] [stderr]            1290 | |             .unwrap();
[INFO] [stderr]            1291 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1292 | /     declare_primitive!("faligned", env, {
[INFO] [stderr]            1293 | |         let address = env.data_stack.pop()? as usize;
[INFO] [stderr]            1294 | |         env.data_stack.push(align_to_float(address) as Cell)?;
[INFO] [stderr]            1295 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1296 |     declare_unary_operator_primitive!("fabs", abs, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1297 |     declare_unary_operator_primitive!("facos", acos, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1298 |     declare_unary_operator_primitive!("facosh", acosh, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1299 |     declare_unary_operator_primitive!("falog", log10, floating_point_stack),
[INFO] [stderr]                 |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1300 |     declare_unary_operator_primitive!("fasin", asin, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1301 |     declare_unary_operator_primitive!("fasinh", asinh, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1302 |     declare_unary_operator_primitive!("fatan", atan, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1303 |     declare_unary_operator_primitive!("fatanh", atanh, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1304 |     declare_unary_operator_primitive!("fcos", cos, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1305 |     declare_unary_operator_primitive!("fcosh", cosh, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1306 |     declare_unary_operator_primitive!("fexp", exp, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1307 |     declare_unary_operator_primitive!("fln", ln, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1308 |     declare_unary_operator_primitive!("flog", log10, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1309 |     declare_unary_operator_primitive!("fsin", sin, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1310 |     declare_unary_operator_primitive!("fsinh", sinh, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1311 |     declare_unary_operator_primitive!("ftan", tan, floating_point_stack),
[INFO] [stderr]                 |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1312 |     declare_unary_operator_primitive!("ftanh", tanh, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1313 |     declare_unary_operator_primitive!("fsqrt", sqrt, floating_point_stack),
[INFO] [stderr]                 |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1314 |     declare_binary_operator_primitive!("f**", powf, floating_point_stack),
[INFO] [stderr]                 |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1315 | /     declare_primitive!("fsincos", env, {
[INFO] [stderr]            1316 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stderr]            1317 | |         let (r2, r3) = r1.sin_cos();
[INFO] [stderr]            1318 | |         env.floating_point_stack.push(r2)?;
[INFO] [stderr]            1319 | |         env.floating_point_stack.push(r3)?;
[INFO] [stderr]            1320 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1321 |     declare_unary_operator_primitive!("fexpm1", exp_m1, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1322 |     declare_unary_operator_primitive!("flnp1", ln_1p, floating_point_stack),
[INFO] [stderr]                 |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                       ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1323 |     declare_binary_operator_primitive!("fatan2", atan2, floating_point_stack),
[INFO] [stderr]                 |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1324 | /     declare_primitive!("f~", env, {
[INFO] [stderr]            1325 | |         let r3 = env.floating_point_stack.pop()?;
[INFO] [stderr]            1326 | |         let r2 = env.floating_point_stack.pop()?;
[INFO] [stderr]            1327 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stderr]            ...    |
[INFO] [stderr]            1338 | |         env.data_stack.push(f as Cell)?;
[INFO] [stderr]            1339 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1341 | /     declare_primitive!("ms", env, {
[INFO] [stderr]            1342 | |         let ms = env.data_stack.pop()?;
[INFO] [stderr]            1343 | |         std::thread::sleep(std::time::Duration::from_millis(ms as u64));
[INFO] [stderr]            1344 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1345 | /     declare_primitive!("d+", env, {
[INFO] [stderr]            1346 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1347 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1348 | |         let d3 = d1.wrapping_add(d2);
[INFO] [stderr]            1349 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stderr]            1350 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1351 | /     declare_primitive!("d-", env, {
[INFO] [stderr]            1352 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1353 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1354 | |         let d3 = d1.wrapping_sub(d2);
[INFO] [stderr]            1355 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stderr]            1356 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1357 | /     declare_primitive!("d<", env, {
[INFO] [stderr]            1358 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1359 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1360 | |         let f: Flag = (d1 < d2).into();
[INFO] [stderr]            1361 | |         env.data_stack.push(f as Cell)?;
[INFO] [stderr]            1362 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1363 | /     declare_primitive!("dnegate", env, {
[INFO] [stderr]            1364 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1365 | |         let d2 = d1.wrapping_neg();
[INFO] [stderr]            1366 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stderr]            1367 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1368 | /     declare_primitive!("d>s", env, {
[INFO] [stderr]            1369 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1370 | |         let n: Cell = d
[INFO] [stderr]            1371 | |             .clamp(Cell::MIN as DoubleCell, Cell::MAX as DoubleCell)
[INFO] [stderr]            ...    |
[INFO] [stderr]            1374 | |         env.data_stack.push(n)?;
[INFO] [stderr]            1375 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1376 | /     declare_primitive!("d.r", env, {
[INFO] [stderr]            1377 | |         let alignment = env.data_stack.pop()?;
[INFO] [stderr]            1378 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1379 | |         let string = env.format_number(d, alignment as usize);
[INFO] [stderr]            1380 | |         print!("{string}");
[INFO] [stderr]            1381 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1382 | /     declare_primitive!("d2*", env, {
[INFO] [stderr]            1383 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1384 | |         env.data_stack.push_double_cell(d << 1)?;
[INFO] [stderr]            1385 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1386 | /     declare_primitive!("d2/", env, {
[INFO] [stderr]            1387 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1388 | |         env.data_stack.push_double_cell(d >> 1)?;
[INFO] [stderr]            1389 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1390 | /     declare_primitive!("m+", env, {
[INFO] [stderr]            1391 | |         let n = env.data_stack.pop()?;
[INFO] [stderr]            1392 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stderr]            1393 | |         let d2 = d1 + n as DoubleCell;
[INFO] [stderr]            1394 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stderr]            1395 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: expected expression, found `)`
[INFO] [stderr]                --> src/main.rs:651:39
[INFO] [stderr]                 |
[INFO] [stderr]             651 |                   #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stderr]                 |                                         ^ expected expression
[INFO] [stderr]            ...
[INFO] [stderr]            1396 | /     declare_primitive!("m*/", env, {
[INFO] [stderr]            1397 | |         let divisor = env.data_stack.pop()?;
[INFO] [stderr]            1398 | |         if divisor == 0 {
[INFO] [stderr]            1399 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stderr]            ...    |
[INFO] [stderr]            1487 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stderr]            1488 | |     }),
[INFO] [stderr]                 | |______- in this macro invocation
[INFO] [stderr]                 |
[INFO] [stderr]                 = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 131 previous errors
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/main.rs:636:28
[INFO] [stdout]     |
[INFO] [stdout] 636 |     ($name:literal, $value:expr) => {
[INFO] [stdout]     |                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]     = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 636 |     ($name:literal, $value:expr_2021) => {
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 718 | /     declare_primitive!(".s", env, {
[INFO] [stdout] 719 | |         let len = env.data_stack.len();
[INFO] [stdout] 720 | |         print!("<{len}> ");
[INFO] [stdout] 721 | |         for i in &env.data_stack.data[0..len] {
[INFO] [stdout] ...   |
[INFO] [stdout] 724 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     declare_primitive!("bye", _env, {
[INFO] [stdout] 726 | |         std::process::exit(0);
[INFO] [stdout] 727 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 728 | /     declare_primitive!("words", env, {
[INFO] [stdout] 729 | |         for entry in env.dictionary.iter() {
[INFO] [stdout] 730 | |             println!("{}", entry.name.as_str().unwrap());
[INFO] [stdout] 731 | |         }
[INFO] [stdout] 732 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 733 | /     declare_primitive!("dup", env, {
[INFO] [stdout] 734 | |         let x = *env.data_stack.last()?;
[INFO] [stdout] 735 | |         env.data_stack.push(x)?;
[INFO] [stdout] 736 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 737 | /     declare_primitive!("drop", env, {
[INFO] [stdout] 738 | |         env.data_stack.pop()?;
[INFO] [stdout] 739 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 740 | /     declare_primitive!(".", env, {
[INFO] [stdout] 741 | |         let x = env.data_stack.pop()?;
[INFO] [stdout] 742 | |         env.print_number(x);
[INFO] [stdout] 743 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 744 | /     declare_primitive!("over", env, {
[INFO] [stdout] 745 | |         let a = env.data_stack.pop()?;
[INFO] [stdout] 746 | |         let b = env.data_stack.pop()?;
[INFO] [stdout] 747 | |         env.data_stack.push(b)?;
[INFO] [stdout] 748 | |         env.data_stack.push(a)?;
[INFO] [stdout] 749 | |         env.data_stack.push(b)?;
[INFO] [stdout] 750 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 751 | /     declare_primitive!("roll", env, {
[INFO] [stdout] 752 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stdout] 753 | |         return env.data_stack.roll(u);
[INFO] [stdout] 754 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 755 | /     declare_primitive!("/mod", env, {
[INFO] [stdout] 756 | |         let divisor = env.data_stack.pop()?;
[INFO] [stdout] 757 | |         if divisor == 0 {
[INFO] [stdout] 758 | |             return Err(Exception::from(Exception::DIVISION_BY_ZERO));
[INFO] [stdout] ...   |
[INFO] [stdout] 765 | |         env.data_stack.push(quotient)?;
[INFO] [stdout] 766 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 767 | /     declare_primitive!("here", env, {
[INFO] [stdout] 768 | |         let address: *mut Byte = unsafe { env.data_space_manager.here() };
[INFO] [stdout] 769 | |         env.data_stack.push(address as Cell)?;
[INFO] [stdout] 770 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 771 | /     declare_primitive!("allot", env, {
[INFO] [stdout] 772 | |         // TODO: Remove?
[INFO] [stdout] 773 | |         debug_assert_eq!(env.currently_compiling, Flag::False as Cell);
[INFO] [stdout] ...   |
[INFO] [stdout] 781 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 782 | /     declare_primitive!("@", env, {
[INFO] [stdout] 783 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 784 | |         let address = n as *mut Cell;
[INFO] [stdout] 785 | |         let data = unsafe { std::ptr::read_unaligned::<Cell>(address) };
[INFO] [stdout] 786 | |         env.data_stack.push(data)?;
[INFO] [stdout] 787 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 788 | /     declare_primitive!("!", env, {
[INFO] [stdout] 789 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 790 | |         let data = env.data_stack.pop()?;
[INFO] [stdout] 791 | |         let address = n as *mut Cell;
[INFO] [stdout] 792 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stdout] 793 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 794 | /     declare_primitive!("c@", env, {
[INFO] [stdout] 795 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 796 | |         let address = n as *mut Byte;
[INFO] [stdout] 797 | |         let data = unsafe { std::ptr::read_unaligned::<Byte>(address) };
[INFO] [stdout] 798 | |         env.data_stack.push(data as Cell)?;
[INFO] [stdout] 799 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 800 | /     declare_primitive!("c!", env, {
[INFO] [stdout] 801 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 802 | |         let data = env.data_stack.pop()? as Byte;
[INFO] [stdout] 803 | |         let address = n as *mut Byte;
[INFO] [stdout] 804 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stdout] 805 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 806 | /     declare_primitive!("emit", env, {
[INFO] [stdout] 807 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 808 | |         let c = (n as u8) as char;
[INFO] [stdout] 809 | |         print!("{c}");
[INFO] [stdout] 810 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 811 | /     declare_primitive!("base", env, {
[INFO] [stdout] 812 | |         let base_address: *mut Cell = &mut env.base;
[INFO] [stdout] 813 | |         env.data_stack.push(base_address as Cell)?;
[INFO] [stdout] 814 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 815 |     declare_binary_operator_primitive!("+", wrapping_add, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 816 |     declare_binary_operator_primitive!("-", wrapping_sub, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 817 |     declare_binary_operator_primitive!("*", wrapping_mul, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 818 |     declare_binary_operator_primitive!("and", bitand, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 819 |     declare_binary_operator_primitive!("or", bitor, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 820 |     declare_binary_operator_primitive!("xor", bitxor, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 821 |     declare_binary_operator_primitive!("mod", wrapping_rem, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 822 |     declare_binary_operator_primitive!("lshift", shl, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 823 |     declare_binary_operator_primitive!("rshift", shr, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 824 |     declare_unary_operator_primitive!("negate", wrapping_neg, data_stack),
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 825 |     declare_unary_operator_primitive!("invert", not, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 826 |     declare_compare_operator_primitive!("=", ==, data_stack),
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 827 |     declare_compare_operator_primitive!("<", <, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 828 |     declare_compare_operator_primitive!(">", >, data_stack),
[INFO] [stdout]     |     ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 829 | /     declare_primitive!(":", env, {
[INFO] [stdout] 830 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stdout] 831 | |         env.push_new_dictionary_entry(name, false, Default::default())?;
[INFO] [stdout] 832 | |         env.currently_compiling = Flag::True as Cell;
[INFO] [stdout] 833 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 834 | /     declare_primitive!("r>", env, {
[INFO] [stdout] 835 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stdout] 836 | |         let from_return_stack = env.return_stack.pop()?;
[INFO] [stdout] 837 | |         env.data_stack.push(from_return_stack.0.addr() as Cell)?;
[INFO] [stdout] 838 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stdout] 839 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 840 | /     declare_primitive!(">r", env, {
[INFO] [stdout] 841 | |         let calling_word_return_address = env.return_stack.pop()?;
[INFO] [stdout] 842 | |         let from_data_stack = env.data_stack.pop()?;
[INFO] [stdout] 843 | |         env.return_stack
[INFO] [stdout] 844 | |             .push_ptr(from_data_stack as *const ForthOperation)?;
[INFO] [stdout] 845 | |         env.return_stack.push(calling_word_return_address)?;
[INFO] [stdout] 846 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 847 | /     declare_primitive!("u.", env, {
[INFO] [stdout] 848 | |         let s = env.data_stack.pop()?;
[INFO] [stdout] 849 | |         let u: usize = s as usize;
[INFO] [stdout] 850 | |         env.print_number(u);
[INFO] [stdout] 851 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 852 | /     declare_primitive!("u<", env, {
[INFO] [stdout] 853 | |         let s2 = env.data_stack.pop()?;
[INFO] [stdout] 854 | |         let s1 = env.data_stack.pop()?;
[INFO] [stdout] 855 | |         let u2 = s2 as UCell;
[INFO] [stdout] ...   |
[INFO] [stdout] 859 | |         env.data_stack.push(result as Cell)?;
[INFO] [stdout] 860 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 861 | /     declare_primitive!("move", env, {
[INFO] [stdout] 862 | |         let length = env.data_stack.pop()? as usize;
[INFO] [stdout] 863 | |         let dest = env.data_stack.pop()? as *mut Byte;
[INFO] [stdout] 864 | |         let src = env.data_stack.pop()? as *const Byte;
[INFO] [stdout] 865 | |         unsafe { std::ptr::copy(src, dest, length) };
[INFO] [stdout] 866 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 867 | /     declare_primitive!("depth", env, {
[INFO] [stdout] 868 | |         env.data_stack.push(env.data_stack.len() as Cell)?;
[INFO] [stdout] 869 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 870 | /     declare_primitive!("quit", env, {
[INFO] [stdout] 871 | |         env.return_stack.clear();
[INFO] [stdout] 872 | |         // TODO: Don't print ok after execution
[INFO] [stdout] 873 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 874 | /     declare_primitive!(">in", env, {
[INFO] [stdout] 875 | |         let address: *mut Cell = &mut env.input_buffer_head;
[INFO] [stdout] 876 | |         let address = address as Cell;
[INFO] [stdout] 877 | |         env.data_stack.push(address)?;
[INFO] [stdout] 878 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 879 | /     declare_primitive!("state", env, {
[INFO] [stdout] 880 | |         let address: *mut Cell = &mut env.currently_compiling;
[INFO] [stdout] 881 | |         let address = address as Cell;
[INFO] [stdout] 882 | |         env.data_stack.push(address)?;
[INFO] [stdout] 883 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 884 | /     declare_primitive!("source", env, {
[INFO] [stdout] 885 | |         let address = env.input_buffer.as_ptr() as Cell;
[INFO] [stdout] 886 | |         let size = env.input_buffer.iter().take_while(|c| **c != 0).count() as Cell;
[INFO] [stdout] 887 | |         env.data_stack.push(address)?;
[INFO] [stdout] 888 | |         env.data_stack.push(size)?;
[INFO] [stdout] 889 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 890 | /     declare_primitive!("immediate", env, {
[INFO] [stdout] 891 | |         env.latest_mut().immediate = true;
[INFO] [stdout] 892 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 893 | /     declare_primitive!("word", env, {
[INFO] [stdout] 894 | |         let delimiter = env.data_stack.pop()?;
[INFO] [stdout] 895 | |         let token = env.next_token(USUAL_LEADING_DELIMITERS_TO_IGNORE, delimiter as Byte);
[INFO] [stdout] 896 | |         let token = token.to_owned(); // TODO: Copy into stack instead of heap (use alloca?)
[INFO] [stdout] ...   |
[INFO] [stdout] 899 | |         env.data_stack.push(token_address as Cell)?;
[INFO] [stdout] 900 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 901 | /     declare_primitive!("'", env, {
[INFO] [stdout] 902 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stdout] 903 | |         let entry = search_dictionary(&env.dictionary, &name)?;
[INFO] [stdout] 904 | |         let entry: *const DictionaryEntry = entry;
[INFO] [stdout] 905 | |         env.data_stack.push(entry as Cell)?;
[INFO] [stdout] 906 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 907 | /     declare_primitive!("execute", env, {
[INFO] [stdout] 908 | |         let entry = env.data_stack.pop()?;
[INFO] [stdout] 909 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stdout] 910 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stdout] 911 | |         env.execute_word(unsafe { entry.body() }.first().unwrap())?;
[INFO] [stdout] 912 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 913 | /     declare_primitive!(">body", env, {
[INFO] [stdout] 914 | |         let entry = env.data_stack.pop()?;
[INFO] [stdout] 915 | |         let entry = entry as *const DictionaryEntry;
[INFO] [stdout] 916 | |         let entry = unsafe { entry.as_ref() }.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 921 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 922 | /     declare_primitive!("find", env, {
[INFO] [stdout] 923 | |         let name_address = env.data_stack.pop()?;
[INFO] [stdout] 924 | |         let name: &CountedString =
[INFO] [stdout] 925 | |             unsafe { (name_address as *const CountedString).as_ref() }.unwrap();
[INFO] [stdout] ...   |
[INFO] [stdout] 939 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 940 | /     declare_primitive!("see", env, {
[INFO] [stdout] 941 | |         let name = env.read_name_from_input_buffer()?;
[INFO] [stdout] 942 | |         let item = search_dictionary(&env.dictionary, &name)?;
[INFO] [stdout] 943 | |         println!(": {} ", item.name.as_str().unwrap());
[INFO] [stdout] ...   |
[INFO] [stdout] 971 | |         println!()
[INFO] [stdout] 972 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 977 | /     declare_primitive!("MAX-D", env, {
[INFO] [stdout] 978 | |         env.data_stack.push_double_cell(DoubleCell::MAX)?;
[INFO] [stdout] 979 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 980 | /     declare_primitive!("MAX-UD", env, {
[INFO] [stdout] 981 | |         env.data_stack
[INFO] [stdout] 982 | |             .push_double_cell(DoubleUCell::MAX as DoubleCell)?;
[INFO] [stdout] 983 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]     = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout]  984 | /     declare_primitive!("evaluate", env, {
[INFO] [stdout]  985 | |         let string_byte_count = env.data_stack.pop()? as usize;
[INFO] [stdout]  986 | |         let string_address = env.data_stack.pop()?;
[INFO] [stdout]  987 | |         let string_address = string_address as *const u8;
[INFO] [stdout] ...    |
[INFO] [stdout] 1005 | |         result?; // TODO: Correct?
[INFO] [stdout] 1006 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1007 | /     declare_primitive!("key", env, {
[INFO] [stdout] 1008 | |         let mut key_buffer: [Byte; 1] = [0; 1];
[INFO] [stdout] 1009 | |         std::io::stdin().read_exact(&mut key_buffer).unwrap();
[INFO] [stdout] 1010 | |         env.data_stack.push(*key_buffer.first().unwrap() as Cell)?;
[INFO] [stdout] 1011 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1012 | /     declare_primitive!("accept", env, {
[INFO] [stdout] 1013 | |         let max_length = env.data_stack.pop()?;
[INFO] [stdout] 1014 | |         let max_length = max_length as usize;
[INFO] [stdout] 1015 | |         let destination = env.data_stack.pop()?;
[INFO] [stdout] ...    |
[INFO] [stdout] 1018 | |         std::io::stdin().read_exact(buffer).unwrap();
[INFO] [stdout] 1019 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1020 | /     declare_primitive!("m*", env, {
[INFO] [stdout] 1021 | |         let x = env.data_stack.pop()?;
[INFO] [stdout] 1022 | |         let y = env.data_stack.pop()?;
[INFO] [stdout] 1023 | |         let result: DoubleCell = (x as DoubleCell) * (y as DoubleCell);
[INFO] [stdout] 1024 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stdout] 1025 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1026 | /     declare_primitive!("sm/rem", env, {
[INFO] [stdout] 1027 | |         let divisor: Cell = env.data_stack.pop()?;
[INFO] [stdout] 1028 | |         if divisor == 0 {
[INFO] [stdout] 1029 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stdout] ...    |
[INFO] [stdout] 1039 | |         env.data_stack.push(quotient)?;
[INFO] [stdout] 1040 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1041 | /     declare_immediate_primitive!(";", env, {
[INFO] [stdout] 1042 | |         env.append_to_latest_body(ForthOperation::Next);
[INFO] [stdout] ...    |
[INFO] [stdout] 1048 | |         env.currently_compiling = Flag::False as Cell;
[INFO] [stdout] 1049 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1050 | /     declare_primitive!("latest-push", env, {
[INFO] [stdout] 1051 | |         let op = env.pop_forth_operation()?;
[INFO] [stdout] 1052 | |         env.append_to_latest_body(op);
[INFO] [stdout] 1053 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1054 | /     declare_primitive!("latest-len", env, {
[INFO] [stdout] 1055 | |         env.data_stack
[INFO] [stdout] 1056 | |             .push(env.latest().body_item_count as UCell as Cell)?;
[INFO] [stdout] 1057 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1058 | /     declare_primitive!("latest!", env, {
[INFO] [stdout] 1059 | |         let index = env.data_stack.pop()? as UCell;
[INFO] [stdout] 1060 | |         let op = env.pop_forth_operation()?;
[INFO] [stdout] 1061 | |         unsafe { *env.latest_mut().body_mut().get_mut(index).unwrap() = op };
[INFO] [stdout] 1062 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1063 | /     declare_primitive!("cf>", env, {
[INFO] [stdout] 1064 | |         env.data_stack
[INFO] [stdout] 1065 | |             .push(env.control_flow_stack.pop()?.try_into().unwrap())?;
[INFO] [stdout] 1066 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1067 | /     declare_primitive!(">cf", env, {
[INFO] [stdout] 1068 | |         env.control_flow_stack
[INFO] [stdout] 1069 | |             .push(env.data_stack.pop()?.try_into().unwrap())?;
[INFO] [stdout] 1070 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1071 | /     declare_immediate_primitive!("(", env, {
[INFO] [stdout] 1072 | |         env.next_token(&[], b')');
[INFO] [stdout] 1073 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1074 | /     declare_immediate_primitive!("\\", env, {
[INFO] [stdout] 1075 | |         env.input_buffer_head = env.input_buffer.len() as Cell;
[INFO] [stdout] 1076 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1077 | /     declare_immediate_primitive!("s\"", env, {
[INFO] [stdout] 1078 | |         let input_buffer_string = env.next_token(&[], b'"').to_owned(); // TODO: Possible without copying to heap?
[INFO] [stdout] 1079 | |         if env.compile_mode() {
[INFO] [stdout] 1080 | |             let len: Cell = input_buffer_string.len().try_into().unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 1095 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1096 | /     declare_immediate_primitive!("recurse", env, {
[INFO] [stdout] 1097 | |         let latest = env.latest_mut();
[INFO] [stdout] 1098 | |         let call_self = ForthOperation::CallEntry(latest);
[INFO] [stdout] 1099 | |         env.append_to_latest_body(call_self);
[INFO] [stdout] 1100 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1101 | /     declare_primitive!("cl>", env, {
[INFO] [stdout] 1102 | |         env.data_stack
[INFO] [stdout] 1103 | |             .push_double_cell(env.counted_loop_stack.pop()?.into())?;
[INFO] [stdout] 1104 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1105 | /     declare_primitive!(">cl", env, {
[INFO] [stdout] 1106 | |         env.counted_loop_stack
[INFO] [stdout] 1107 | |             .push(env.data_stack.pop_double_cell().unwrap().into())?;
[INFO] [stdout] 1108 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1110 | /     declare_primitive!("syscall", env, {
[INFO] [stdout] 1111 | |         let arg6: u64 = env.data_stack.pop()? as u64;
[INFO] [stdout] 1112 | |         let arg5: u64 = env.data_stack.pop()? as u64;
[INFO] [stdout] 1113 | |         let arg4: u64 = env.data_stack.pop()? as u64;
[INFO] [stdout] ...    |
[INFO] [stdout] 1139 | |         env.data_stack.push(return_value2 as Cell)?;
[INFO] [stdout] 1140 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1141 | /     declare_immediate_primitive!(".(", env, {
[INFO] [stdout] 1142 | |         let bytes = env.next_token(&[], b')');
[INFO] [stdout] 1143 | |         let string = core::str::from_utf8(bytes).unwrap();
[INFO] [stdout] 1144 | |         print!("{string}");
[INFO] [stdout] 1145 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_immediate_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1146 | /     declare_primitive!(".R", env, {
[INFO] [stdout] 1147 | |         let alignment = env.data_stack.pop()?;
[INFO] [stdout] 1148 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stdout] 1149 | |         let number = env.data_stack.pop()?;
[INFO] [stdout] 1150 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stdout] 1151 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1152 | /     declare_primitive!("U.R", env, {
[INFO] [stdout] 1153 | |         let alignment = env.data_stack.pop()?;
[INFO] [stdout] 1154 | |         let alignment: usize = if alignment < 0 { 0 } else { alignment as usize };
[INFO] [stdout] 1155 | |         let number = env.data_stack.pop()? as usize;
[INFO] [stdout] 1156 | |         print!("{} ", env.format_number(number, alignment));
[INFO] [stdout] 1157 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1158 | /     declare_primitive!("unused", env, {
[INFO] [stdout] 1159 | |         env.data_stack
[INFO] [stdout] 1160 | |             .push(env.data_space_manager.unused_area.len() as Cell)?;
[INFO] [stdout] 1161 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1162 | /     declare_primitive!("catch", env, {
[INFO] [stdout] 1163 | |         let execution_token = env.data_stack.pop()?;
[INFO] [stdout] 1164 | |         let entry = unsafe { (execution_token as *const DictionaryEntry).as_ref() }.unwrap();
[INFO] [stdout] ...    |
[INFO] [stdout] 1192 | |         env.data_stack.push(err)?;
[INFO] [stdout] 1193 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1194 | /     declare_primitive!("throw", env, {
[INFO] [stdout] 1195 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 1196 | |         if n != 0 {
[INFO] [stdout] 1197 | |             return Err(Exception { value: n });
[INFO] [stdout] 1198 | |         }
[INFO] [stdout] 1199 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1200 | /     declare_primitive!("f.", env, {
[INFO] [stdout] 1201 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1202 | |         println!("{f}");
[INFO] [stdout] 1203 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1204 |     declare_binary_operator_primitive!("f*", mul, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1205 |     declare_binary_operator_primitive!("f+", add, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1206 |     declare_binary_operator_primitive!("f-", sub, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1207 | /     declare_primitive!("f/", env, {
[INFO] [stdout] 1208 | |         let divisor = env.floating_point_stack.pop()?;
[INFO] [stdout] 1209 | |         if divisor == 0.0 {
[INFO] [stdout] 1210 | |             return Err(Exception::from(Exception::FLOATING_POINT_DIVIDE_BY_ZERO));
[INFO] [stdout] ...    |
[INFO] [stdout] 1214 | |         env.floating_point_stack.push(divided / divisor)?;
[INFO] [stdout] 1215 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1216 | /     declare_primitive!("f0=", env, {
[INFO] [stdout] 1217 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1218 | |         env.data_stack.push(Flag::from(f == 0.0) as Cell)?;
[INFO] [stdout] 1219 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1220 |     declare_compare_operator_primitive!("f<", <, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_compare_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1221 | /     declare_primitive!("fdrop", env, {
[INFO] [stdout] 1222 | |         env.floating_point_stack.pop()?;
[INFO] [stdout] 1223 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1224 | /     declare_primitive!("fdup", env, {
[INFO] [stdout] 1225 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1226 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1227 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1228 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1229 | /     declare_primitive!("fover", env, {
[INFO] [stdout] 1230 | |         let a = env.floating_point_stack.pop()?;
[INFO] [stdout] 1231 | |         let b = env.floating_point_stack.pop()?;
[INFO] [stdout] 1232 | |         env.floating_point_stack.push(b)?;
[INFO] [stdout] 1233 | |         env.floating_point_stack.push(a)?;
[INFO] [stdout] 1234 | |         env.floating_point_stack.push(b)?;
[INFO] [stdout] 1235 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1236 | /     declare_primitive!("froll", env, {
[INFO] [stdout] 1237 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stdout] 1238 | |         return env.floating_point_stack.roll(u);
[INFO] [stdout] 1239 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1240 | /     declare_primitive!("fdepth", env, {
[INFO] [stdout] 1241 | |         env.data_stack
[INFO] [stdout] 1242 | |             .push(env.floating_point_stack.len() as Cell)?;
[INFO] [stdout] 1243 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1244 | /     declare_primitive!("floor", env, {
[INFO] [stdout] 1245 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1246 | |         env.floating_point_stack.push(f.floor())?;
[INFO] [stdout] 1247 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1248 | /     declare_primitive!("fround", env, {
[INFO] [stdout] 1249 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1250 | |         env.floating_point_stack.push(f.round())?;
[INFO] [stdout] 1251 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1252 | /     declare_primitive!("f@", env, {
[INFO] [stdout] 1253 | |         let address = env.data_stack.pop()? as *const Float;
[INFO] [stdout] 1254 | |         let f = unsafe { std::ptr::read_unaligned::<Float>(address) };
[INFO] [stdout] 1255 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1256 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1257 | /     declare_primitive!("f!", env, {
[INFO] [stdout] 1258 | |         let address = env.data_stack.pop()? as *mut Float;
[INFO] [stdout] 1259 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1260 | |         unsafe { std::ptr::write_unaligned(address, f) };
[INFO] [stdout] 1261 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1262 | /     declare_primitive!(">float", env, {
[INFO] [stdout] 1263 | |         let string_byte_count = env.data_stack.pop()? as UCell;
[INFO] [stdout] 1264 | |         let string_address = env.data_stack.pop()? as *const Byte;
[INFO] [stdout] 1265 | |         let string = unsafe { core::slice::from_raw_parts(string_address, string_byte_count) };
[INFO] [stdout] ...    |
[INFO] [stdout] 1275 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1276 | /     declare_primitive!("d>f", env, {
[INFO] [stdout] 1277 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1278 | |         let f = d as Float;
[INFO] [stdout] 1279 | |         env.floating_point_stack.push(f)?;
[INFO] [stdout] 1280 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1281 | /     declare_primitive!("f>d", env, {
[INFO] [stdout] 1282 | |         let f = env.floating_point_stack.pop()?;
[INFO] [stdout] 1283 | |         let d = f as DoubleCell;
[INFO] [stdout] 1284 | |         env.data_stack.push_double_cell(d)?;
[INFO] [stdout] 1285 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1286 | /     declare_primitive!("falign", env, {
[INFO] [stdout] 1287 | |         let here = unsafe { env.data_space_manager.here() } as usize;
[INFO] [stdout] 1288 | |         env.data_space_manager
[INFO] [stdout] 1289 | |             .allot(align_to_float(here) - here)
[INFO] [stdout] 1290 | |             .unwrap();
[INFO] [stdout] 1291 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1292 | /     declare_primitive!("faligned", env, {
[INFO] [stdout] 1293 | |         let address = env.data_stack.pop()? as usize;
[INFO] [stdout] 1294 | |         env.data_stack.push(align_to_float(address) as Cell)?;
[INFO] [stdout] 1295 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1296 |     declare_unary_operator_primitive!("fabs", abs, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1297 |     declare_unary_operator_primitive!("facos", acos, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1298 |     declare_unary_operator_primitive!("facosh", acosh, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1299 |     declare_unary_operator_primitive!("falog", log10, floating_point_stack),
[INFO] [stdout]      |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1300 |     declare_unary_operator_primitive!("fasin", asin, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1301 |     declare_unary_operator_primitive!("fasinh", asinh, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1302 |     declare_unary_operator_primitive!("fatan", atan, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1303 |     declare_unary_operator_primitive!("fatanh", atanh, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1304 |     declare_unary_operator_primitive!("fcos", cos, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1305 |     declare_unary_operator_primitive!("fcosh", cosh, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1306 |     declare_unary_operator_primitive!("fexp", exp, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1307 |     declare_unary_operator_primitive!("fln", ln, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1308 |     declare_unary_operator_primitive!("flog", log10, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1309 |     declare_unary_operator_primitive!("fsin", sin, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1310 |     declare_unary_operator_primitive!("fsinh", sinh, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1311 |     declare_unary_operator_primitive!("ftan", tan, floating_point_stack),
[INFO] [stdout]      |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1312 |     declare_unary_operator_primitive!("ftanh", tanh, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1313 |     declare_unary_operator_primitive!("fsqrt", sqrt, floating_point_stack),
[INFO] [stdout]      |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1314 |     declare_binary_operator_primitive!("f**", powf, floating_point_stack),
[INFO] [stdout]      |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1315 | /     declare_primitive!("fsincos", env, {
[INFO] [stdout] 1316 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stdout] 1317 | |         let (r2, r3) = r1.sin_cos();
[INFO] [stdout] 1318 | |         env.floating_point_stack.push(r2)?;
[INFO] [stdout] 1319 | |         env.floating_point_stack.push(r3)?;
[INFO] [stdout] 1320 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1321 |     declare_unary_operator_primitive!("fexpm1", exp_m1, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1322 |     declare_unary_operator_primitive!("flnp1", ln_1p, floating_point_stack),
[INFO] [stdout]      |     ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_unary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1323 |     declare_binary_operator_primitive!("fatan2", atan2, floating_point_stack),
[INFO] [stdout]      |     ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1324 | /     declare_primitive!("f~", env, {
[INFO] [stdout] 1325 | |         let r3 = env.floating_point_stack.pop()?;
[INFO] [stdout] 1326 | |         let r2 = env.floating_point_stack.pop()?;
[INFO] [stdout] 1327 | |         let r1 = env.floating_point_stack.pop()?;
[INFO] [stdout] ...    |
[INFO] [stdout] 1338 | |         env.data_stack.push(f as Cell)?;
[INFO] [stdout] 1339 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1341 | /     declare_primitive!("ms", env, {
[INFO] [stdout] 1342 | |         let ms = env.data_stack.pop()?;
[INFO] [stdout] 1343 | |         std::thread::sleep(std::time::Duration::from_millis(ms as u64));
[INFO] [stdout] 1344 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1345 | /     declare_primitive!("d+", env, {
[INFO] [stdout] 1346 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1347 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1348 | |         let d3 = d1.wrapping_add(d2);
[INFO] [stdout] 1349 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stdout] 1350 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1351 | /     declare_primitive!("d-", env, {
[INFO] [stdout] 1352 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1353 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1354 | |         let d3 = d1.wrapping_sub(d2);
[INFO] [stdout] 1355 | |         env.data_stack.push_double_cell(d3)?;
[INFO] [stdout] 1356 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1357 | /     declare_primitive!("d<", env, {
[INFO] [stdout] 1358 | |         let d2 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1359 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1360 | |         let f: Flag = (d1 < d2).into();
[INFO] [stdout] 1361 | |         env.data_stack.push(f as Cell)?;
[INFO] [stdout] 1362 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1363 | /     declare_primitive!("dnegate", env, {
[INFO] [stdout] 1364 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1365 | |         let d2 = d1.wrapping_neg();
[INFO] [stdout] 1366 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stdout] 1367 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1368 | /     declare_primitive!("d>s", env, {
[INFO] [stdout] 1369 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1370 | |         let n: Cell = d
[INFO] [stdout] 1371 | |             .clamp(Cell::MIN as DoubleCell, Cell::MAX as DoubleCell)
[INFO] [stdout] ...    |
[INFO] [stdout] 1374 | |         env.data_stack.push(n)?;
[INFO] [stdout] 1375 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1376 | /     declare_primitive!("d.r", env, {
[INFO] [stdout] 1377 | |         let alignment = env.data_stack.pop()?;
[INFO] [stdout] 1378 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1379 | |         let string = env.format_number(d, alignment as usize);
[INFO] [stdout] 1380 | |         print!("{string}");
[INFO] [stdout] 1381 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1382 | /     declare_primitive!("d2*", env, {
[INFO] [stdout] 1383 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1384 | |         env.data_stack.push_double_cell(d << 1)?;
[INFO] [stdout] 1385 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1386 | /     declare_primitive!("d2/", env, {
[INFO] [stdout] 1387 | |         let d = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1388 | |         env.data_stack.push_double_cell(d >> 1)?;
[INFO] [stdout] 1389 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1390 | /     declare_primitive!("m+", env, {
[INFO] [stdout] 1391 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 1392 | |         let d1 = env.data_stack.pop_double_cell()?;
[INFO] [stdout] 1393 | |         let d2 = d1 + n as DoubleCell;
[INFO] [stdout] 1394 | |         env.data_stack.push_double_cell(d2)?;
[INFO] [stdout] 1395 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unsafe attribute used without unsafe
[INFO] [stdout]     --> src/main.rs:651:19
[INFO] [stdout]      |
[INFO] [stdout]  651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 1396 | /     declare_primitive!("m*/", env, {
[INFO] [stdout] 1397 | |         let divisor = env.data_stack.pop()?;
[INFO] [stdout] 1398 | |         if divisor == 0 {
[INFO] [stdout] 1399 | |             return Err(Exception::DIVISION_BY_ZERO.into());
[INFO] [stdout] ...    |
[INFO] [stdout] 1487 | |         env.data_stack.push_double_cell(result)?;
[INFO] [stdout] 1488 | |     }),
[INFO] [stdout]      | |______- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-attributes.html>
[INFO] [stdout]      = note: this warning originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]      |
[INFO] [stdout]  651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]      |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 |         core::slice::from_raw_parts(self.data.as_ptr(), self.len as usize)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:360:5
[INFO] [stdout]     |
[INFO] [stdout] 360 |     unsafe fn as_slice(&self) -> &[Byte] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:376:15
[INFO] [stdout]     |
[INFO] [stdout] 376 |         Some(&*(dst.as_ptr() as *const CountedString))
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:364:5
[INFO] [stdout]     |
[INFO] [stdout] 364 |     unsafe fn from_slice<'a>(src: &[Byte], dst: &'a mut [Byte]) -> Option<&'a CountedString> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 |         core::slice::from_raw_parts(self.body_start.as_ptr(), self.body_item_count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:497:5
[INFO] [stdout]     |
[INFO] [stdout] 497 |     unsafe fn body(&self) -> &[ForthOperation] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:501:9
[INFO] [stdout]     |
[INFO] [stdout] 501 |         core::slice::from_raw_parts_mut(self.body_start.as_mut_ptr(), self.body_item_count)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:500:5
[INFO] [stdout]     |
[INFO] [stdout] 500 |     unsafe fn body_mut(&mut self) -> &mut [ForthOperation] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.09s
[INFO] [stderr] crater-edition-check: liorforth v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling liorforth v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 718 | /     declare_primitive!(".s", env, {
[INFO] [stdout] 719 | |         let len = env.data_stack.len();
[INFO] [stdout] 720 | |         print!("<{len}> ");
[INFO] [stdout] 721 | |         for i in &env.data_stack.data[0..len] {
[INFO] [stdout] ...   |
[INFO] [stdout] 724 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     declare_primitive!("bye", _env, {
[INFO] [stdout] 726 | |         std::process::exit(0);
[INFO] [stdout] 727 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 728 | /     declare_primitive!("words", env, {
[INFO] [stdout] 729 | |         for entry in env.dictionary.iter() {
[INFO] [stdout] 730 | |             println!("{}", entry.name.as_str().unwrap());
[INFO] [stdout] 731 | |         }
[INFO] [stdout] 732 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 733 | /     declare_primitive!("dup", env, {
[INFO] [stdout] 734 | |         let x = *env.data_stack.last()?;
[INFO] [stdout] 735 | |         env.data_stack.push(x)?;
[INFO] [stdout] 736 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 737 | /     declare_primitive!("drop", env, {
[INFO] [stdout] 738 | |         env.data_stack.pop()?;
[INFO] [stdout] 739 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 740 | /     declare_primitive!(".", env, {
[INFO] [stdout] 741 | |         let x = env.data_stack.pop()?;
[INFO] [stdout] 742 | |         env.print_number(x);
[INFO] [stdout] 743 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 744 | /     declare_primitive!("over", env, {
[INFO] [stdout] 745 | |         let a = env.data_stack.pop()?;
[INFO] [stdout] 746 | |         let b = env.data_stack.pop()?;
[INFO] [stdout] 747 | |         env.data_stack.push(b)?;
[INFO] [stdout] 748 | |         env.data_stack.push(a)?;
[INFO] [stdout] 749 | |         env.data_stack.push(b)?;
[INFO] [stdout] 750 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 751 | /     declare_primitive!("roll", env, {
[INFO] [stdout] 752 | |         let u = env.data_stack.pop()? as UCell;
[INFO] [stdout] 753 | |         return env.data_stack.roll(u);
[INFO] [stdout] 754 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 755 | /     declare_primitive!("/mod", env, {
[INFO] [stdout] 756 | |         let divisor = env.data_stack.pop()?;
[INFO] [stdout] 757 | |         if divisor == 0 {
[INFO] [stdout] 758 | |             return Err(Exception::from(Exception::DIVISION_BY_ZERO));
[INFO] [stdout] ...   |
[INFO] [stdout] 765 | |         env.data_stack.push(quotient)?;
[INFO] [stdout] 766 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 767 | /     declare_primitive!("here", env, {
[INFO] [stdout] 768 | |         let address: *mut Byte = unsafe { env.data_space_manager.here() };
[INFO] [stdout] 769 | |         env.data_stack.push(address as Cell)?;
[INFO] [stdout] 770 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 771 | /     declare_primitive!("allot", env, {
[INFO] [stdout] 772 | |         // TODO: Remove?
[INFO] [stdout] 773 | |         debug_assert_eq!(env.currently_compiling, Flag::False as Cell);
[INFO] [stdout] ...   |
[INFO] [stdout] 781 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 782 | /     declare_primitive!("@", env, {
[INFO] [stdout] 783 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 784 | |         let address = n as *mut Cell;
[INFO] [stdout] 785 | |         let data = unsafe { std::ptr::read_unaligned::<Cell>(address) };
[INFO] [stdout] 786 | |         env.data_stack.push(data)?;
[INFO] [stdout] 787 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 788 | /     declare_primitive!("!", env, {
[INFO] [stdout] 789 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 790 | |         let data = env.data_stack.pop()?;
[INFO] [stdout] 791 | |         let address = n as *mut Cell;
[INFO] [stdout] 792 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stdout] 793 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 794 | /     declare_primitive!("c@", env, {
[INFO] [stdout] 795 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 796 | |         let address = n as *mut Byte;
[INFO] [stdout] 797 | |         let data = unsafe { std::ptr::read_unaligned::<Byte>(address) };
[INFO] [stdout] 798 | |         env.data_stack.push(data as Cell)?;
[INFO] [stdout] 799 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 800 | /     declare_primitive!("c!", env, {
[INFO] [stdout] 801 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 802 | |         let data = env.data_stack.pop()? as Byte;
[INFO] [stdout] 803 | |         let address = n as *mut Byte;
[INFO] [stdout] 804 | |         unsafe { std::ptr::write_unaligned(address, data) };
[INFO] [stdout] 805 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 806 | /     declare_primitive!("emit", env, {
[INFO] [stdout] 807 | |         let n = env.data_stack.pop()?;
[INFO] [stdout] 808 | |         let c = (n as u8) as char;
[INFO] [stdout] 809 | |         print!("{c}");
[INFO] [stdout] 810 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 811 | /     declare_primitive!("base", env, {
[INFO] [stdout] 812 | |         let base_address: *mut Cell = &mut env.base;
[INFO] [stdout] 813 | |         env.data_stack.push(base_address as Cell)?;
[INFO] [stdout] 814 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 718 | /     declare_primitive!(".s", env, {
[INFO] [stdout] 719 | |         let len = env.data_stack.len();
[INFO] [stdout] 720 | |         print!("<{len}> ");
[INFO] [stdout] 721 | |         for i in &env.data_stack.data[0..len] {
[INFO] [stdout] ...   |
[INFO] [stdout] 724 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 815 |     declare_binary_operator_primitive!("+", wrapping_add, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 816 |     declare_binary_operator_primitive!("-", wrapping_sub, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 817 |     declare_binary_operator_primitive!("*", wrapping_mul, data_stack),
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `declare_primitive` which comes from the expansion of the macro `declare_binary_operator_primitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: wrap the attribute in `unsafe(...)`
[INFO] [stdout]     |
[INFO] [stdout] 651 |                 #[unsafe(export_name =) concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                   +++++++             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unsafe attribute used without unsafe
[INFO] [stdout]    --> src/main.rs:651:19
[INFO] [stdout]     |
[INFO] [stdout] 651 |                   #[export_name = concat!("liorforth_primitive_", $name)]
[INFO] [stdout]     |                     ^^^^^^^^^^^ usage of unsafe attribute
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     declare_primitive!("bye", _env, {
[INFO] [stdout] 726 | |         std::process::exit(0);
[INFO] [stdout] 727 | |     }),
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[WARN] too many lines in the log, truncating it
